Il segno più +viene usato per l'aggiunta e per la concatenazione di stringhe, ma il suo compagno: il segno meno -, generalmente non viene visto per il taglio di stringhe o altri casi diversi dalla sottrazione. Quale potrebbe essere la ragione o le limitazioni per questo?
Considera il seguente esempio in JavaScript:
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+operatore binario sia sovraccarico di due significati totalmente non correlati "aggiunta numerica" e "concatenazione di stringhe". Per fortuna, alcune lingue forniscono un operatore di concatenazione separato come .(Perl5, PHP), ~(Perl6), &(VB), ++(Haskell), ...
->(pensa a dereferenziare l'accesso dei membri in C, poiché le chiamate al metodo virtuale implicano necessariamente un riferimento indiretto simile a un puntatore). Non esiste una legge di progettazione del linguaggio che richieda chiamate di metodo / accesso dei membri per utilizzare un .operatore, sebbene sia una convenzione sempre più comune. Sapevi che Smalltalk non ha un operatore di chiamata del metodo? La giustapposizione semplice object methodè sufficiente.