Vấn đề điển hình đưa ra cho việc nối chuỗi xoay quanh một vài vấn đề:
- các
+
biểu tượng bị quá tải
- những lỗi đơn giản
- lập trình viên lười biếng
# 1
Vấn đề đầu tiên và quan trọng nhất với việc sử dụng +
để nối và bổ sung chuỗi là bạn đang sử dụng +
để nối và thêm chuỗi .
nếu bạn có các biến a
và b
, và bạn đặt c = a + b
, có một sự mơ hồ phụ thuộc vào các loại a
và b
. Sự mơ hồ này buộc bạn phải thực hiện các bước bổ sung để giảm thiểu vấn đề:
Chuỗi concat:
c = '' + a + b;
Thêm vào:
c = parseFloat(a) + parseFloat(b);
Điều này đưa tôi đến điểm thứ hai của tôi
# 2
Rất dễ dàng để vô tình truyền một biến thành một chuỗi mà không nhận ra nó. Cũng dễ quên rằng đầu vào của bạn đang ở dưới dạng một chuỗi:
a = prompt('Pick a number');
b = prompt('Pick a second number');
alert( a + b );
Sẽ tạo ra kết quả không trực quan vì dấu nhắc trả về giá trị chuỗi của đầu vào.
# 3
Cần gõ parseFloat
hoặc Number()
mỗi lần tôi muốn làm thêm là tẻ nhạt và khó chịu. Tôi nghĩ bản thân mình đủ thông minh để nhớ rằng không làm rối các loại năng động của mình, nhưng điều đó không có nghĩa là tôi chưa bao giờ làm hỏng các loại năng động của mình . Sự thật của vấn đề là tôi quá lười để loại parseFloat
hoặc Number()
mỗi lần tôi làm thêm, bởi vì tôi làm rất nhiều bổ sung.
Giải pháp?
Không phải tất cả các ngôn ngữ sử dụng +
để nối chuỗi. PHP sử dụng .
để nối các chuỗi, giúp phân biệt giữa khi bạn muốn thêm số và khi bạn muốn nối chuỗi.
Bất kỳ biểu tượng nào cũng có thể được sử dụng để nối chuỗi, nhưng hầu hết đã được sử dụng và tốt nhất là tránh trùng lặp. Nếu tôi có cách của mình, có lẽ tôi sẽ sử dụng _
để nối các chuỗi và không cho phép các _
tên biến.
bad
. Ai làEveryone
ai