Một nguồn tin dự án JavaScript mở tôi làm việc trên bao gồm mã:Javascript: Tại sao so sánh với null?
if (color) {
tapeDiv.style.backgroundColor = color;
// set color here if defined by event. Else use css
}
Một đóng góp muốn thay đổi nó để
if (color != null) { // this line changed
tapeDiv.style.backgroundColor = color;
// set color here if defined by event. Else use css
}
màu là một chuỗi var. Chỉ sử dụng một chuỗi gồm nhiều hơn 0 ký tự để đặt màu rõ ràng.
Vì JS xử lý "" và null là boolean false, tại sao so sánh! = Null là cần thiết?
Tôi có thiếu thứ gì đó khi nghĩ rằng biểu mẫu đầu tiên chỉ tốt (và ngắn hơn một chút) so với giây không?
Tôi thấy so sánh với null khá thường xuyên trong nguồn JS. Tại sao chúng cần thiết khi tất cả các đối tượng JS đơn giản có kết quả đã biết khi cast như boolean?
Cảm ơn,
Larry
ps. Tôi cho rằng nếu 0 (một số nguyên) là một trường hợp hợp lệ, thì nếu (0) là sai [một vấn đề] và nếu (0! = Null) là đúng [cho phép 0 trường hợp]. Có lý do nào khác không?
pps. Nên đã đề cập rằng tapeDiv mới được tạo ra. Vì vậy, không có điểm để đặt lại kiểu thành "" vì div là thương hiệu mới.
Với tôi, tôi muốn có mã ngắn hơn một chút và giả sử người đọc hiểu được đẳng cấp và logic logic. Có lẽ đó chỉ là lập trình viên Ruby trong tôi. Nó có thể là truyền thống trong js để đánh vần mọi thứ ra một cách chi tiết hơn ... –
Không thường xuyên. Hãy nhớ rằng nguồn của JS thực sự được tải xuống, vì vậy ngắn gọn là một dấu cộng. Và tôi đồng ý với Larry. Không được sử dụng để tránh nhận dạng cách JS nhập và truyền các tác phẩm. – user37078