Uno de los problemas, para algunos de nosotros, con Javascript es la falta de sobrecarga del operador. Esto hace que escribir bibliotecas numéricas sea incómodo. Por ejemplo, podríamos querer escribir algo como:Implementación de la sobrecarga del operador en Javascript a través de un transpiler
var a = new BigInteger(5);
var b = new BigInteger(10);
var c = a + b;
Una posible solución es transpile una lengua con la sobrecarga de operadores de Javascript. Si bien es factible (reemplazando operadores por llamadas a funciones y controles de tipo), parece que el consenso es que esto es imposible sin matar el rendimiento. CoffeeScript ha rechazado la idea por esta razón:
https://github.com/jashkenas/coffee-script/issues/846
Pero ¿Realmente no hay soluciones inteligentes?
Por ejemplo, podría ser posible que el tipo de polipasto compruebe los bucles apretados o utilice alguna otra tubería donde los compiladores de JS modernos puedan optimizar la separación adicional cuando los tipos son numéricos.
Ideas?
¿Podría falsificar la tipificación estática con notación húngara? Su código explotaría espectacularmente sin mensaje de error si mezcla incluso un tipo en cualquier lugar, por supuesto. – evan
Hay un artículo aquí re. Sobrecarga del operador JS ... http://www.2ality.com/2011/12/fake-operator-overloading.html –