El signo más +se usa para la suma y para la concatenación de cadenas, pero su compañero: el signo menos -, generalmente no se ve para el recorte de cadenas o algún otro caso que no sea la resta. ¿Cuál podría ser la razón o las limitaciones para eso?
Considere el siguiente ejemplo en JavaScript:
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+operador binario esté sobrecargado con los dos significados totalmente independientes "suma numérica" y "concatenación de cadenas". Afortunadamente, algunos idiomas proporcionan un operador de concatenación separado como .(Perl5, PHP), ~(Perl6), &(VB), ++(Haskell), ...
->(piense en desreferenciar el acceso de miembros en C, ya que las llamadas a métodos virtuales necesariamente implican una indirección similar a un puntero). No existe una ley de diseño de lenguaje que requiera llamadas a métodos / acceso de miembros para usar un .operador, aunque es una convención cada vez más común. ¿Sabía que Smalltalk no tiene operador de llamada a método? La yuxtaposición simple object methodes suficiente.