Dấu cộng +
được sử dụng để cộng và nối chuỗi, nhưng đồng hành của nó: dấu trừ -
, thường không được nhìn thấy để cắt xâu chuỗi hoặc một số trường hợp khác ngoài phép trừ. Điều gì có thể là lý do hoặc hạn chế cho điều đó?
Hãy xem xét ví dụ sau trong JavaScript:
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+
toán tử nhị phân bị quá tải với hai ý nghĩa hoàn toàn không liên quan đến nhau. Rất may, một số ngôn ngữ cung cấp một toán tử ghép nối riêng như .
(Perl5, PHP), ~
(Perl6), &
(VB), ++
(Haskell),
->
(nghĩ rằng truy cập thành viên hội nghị trong C, vì các cuộc gọi phương thức ảo nhất thiết phải liên quan đến sự gián tiếp giống như con trỏ). Không có luật thiết kế ngôn ngữ yêu cầu các cuộc gọi phương thức / quyền truy cập thành viên để sử dụng một .
toán tử, mặc dù đó là một quy ước ngày càng phổ biến. Bạn có biết rằng Smalltalk không có toán tử gọi phương thức? Sự kết hợp đơn giản object method
là đủ.