더하기 부호 +는 더하기 및 문자열 연결에 사용되지만 그 동반자 인 빼기 부호 -는 일반적으로 문자열을 자르거나 빼기 이외의 다른 경우에는 표시되지 않습니다. 그 이유나 한계는 무엇입니까?
JavaScript에서 다음 예제를 고려하십시오.
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+연산자에 완전히 관련이없는 두 가지 의미 "숫자 추가"및 "문자열 연결"이 오버로드되는 것은 충분하지 않습니다 . 고맙게도 일부 언어는 .(Perl5, PHP), ~(Perl6), &(VB), ++(Haskell) 등과 같은 별도의 연결 연산자를 제공합니다 .
->(가상 메서드 호출에는 반드시 포인터와 같은 간접 참조가 포함되므로 C에서 역 참조 멤버 액세스를 생각하십시오). .연산자 를 사용하기 위해 메소드 호출 / 멤버 액세스를 요구하는 언어 설계법은 없지만 점점 더 일반적인 규칙입니다. 스몰 토크에 메소드 호출 연산자가 없다는 것을 알고 있습니까? 간단한 병치 object method만으로 충분합니다.