2009-12-11 44 views
19

Sự khác biệt giữa toán tử! == và toán tử! =. Nó có hoạt động tương tự như toán tử === mà nó so sánh cả giá trị và kiểu không?Nhà điều hành Javascript! ==

+0

Nghịch đảo câu hỏi của bạn: http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use –

Trả lời

33

Có, đó là các nhà điều hành tương tự như ===, chỉ dành riêng cho trong bình đẳng:

!== - trả về true nếu hai toán hạng là không giống nhau. Toán tử này sẽ không chuyển đổi các kiểu toán hạng, và chỉ trả về false nếu chúng là cùng kiểu và giá trị. - Wikibooks

+2

+1 - bất bình đẳng mà không bị ép buộc loại –

+0

Tôi thực sự nghĩ rằng câu trả lời đúng cần từ ép buộc ở đâu đó trong đó. Chuyển đổi cũng có ý nghĩa nhưng để gọn gàng, nó phải được làm rõ rằng đó là một chuyển đổi tiềm ẩn xảy ra. –

10

Vâng, !== là phiên bản khắt khe của các nhà điều hành !=, không có loại ép buộc được thực hiện nếu các toán hạng là các loại khác nhau:

0 != ''   // false, type coercion made 
0 != '0'   // false 
false != '0'  // false 

0 !== ''   // true, no type coercion 
0 !== '0'   // true 
false !== '0'  // true 
6

tôi sắp gửi this w3schools page, nhưng hoạt kê đủ nó không chứa toán tử này!

Ít nhất, !== thực sự là nghịch đảo của === kiểm tra tính bình đẳng của cả loại và giá trị.