Khi làm việc trong javascript ai đó có thể cung cấp cho tôi một tài liệu tham khảo hay giải thích tốt về kiểm tra bình đẳng/bất bình đẳng và ép buộc loại? Từ những gì tôi đã đọc Tôi thấy nơi có hai nguyên tắc suy nghĩ về việc sử dụng eqeq (==) so với eqeqeq (===) một số cảm thấy rằng bạn không nên sử dụng eqeq và luôn sử dụng eqeqeq vì nó là an toàn hơn để sử dụng.bình đẳng trong javascript
Tôi đã được chơi xung quanh với một số mẫu cơ bản và tôi đang gặp khó khăn sành điệu sự khác biệt hoặc khi tốt nhất để sử dụng một trong khác:
Ví dụ: đây là một số kịch bản cơ bản tôi đã viết ra. Khi tôi kiểm tra bằng eqeq hoặc eqeqeq, tôi nhận được kết quả tương tự. Tôi đã không nhìn thấy một ví dụ nào được nêu ra, nơi tôi sẽ nhận được một kết quả khác nhau (ví dụ: bằng cách sử dụng eqeq trả về đúng nơi eqeqeq trả về false).
function write(message){
document.getElementById('message').innerHTML += message +'<br/>';
}
var tim = { name: "tim" };
var tim2 = { name: "tim" };
//objects are equal to themselves (== vs ==== eqeq or eqeqeq)
write("tim eq tim: " + (tim == tim)); //returns true
//objects are only equal to themselves regardless of containing value got that
write("tim eq tim2: " + (tim === tim2)); //returns false
//access the primative type to test true or false
write("tim value eq tim2 value: " + (tim.name === tim2.name)); //returns true
//how does this differ in efficency over the eqeq operator? is one safer to use over the other?
//write("tim value eq tim2 value: " + (tim.name == tim2.name)); //also returns true
//testing primatives
write("apple eqeqeq apple: " + ("apple" === "apple")); //true
write("apple eqeqeq apple: " + ("apple" == "apple")); //true
Ai đó có thể giải thích hoặc tham khảo tôi có thể đọc giúp làm rõ thêm một chút.
cổ vũ,
http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use –