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