2009-12-11 39 views
19

!==操作符和!=操作符有什麼區別?它是否與===運算符類似,它比較值和類型?Javascript操作符!==

+0

你的問題的反向:http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use – 2009-12-11 16:44:15

回答

33

是的,這是相同的運營商像===,只是平等:

!== - 如果兩個操作數是不相同返回true。該運算符不會轉換操作數類型,只有在類型和值相同時才返回false。 - Wikibooks

+2

+1 - 不帶類型強制的不等式 – 2009-12-11 16:44:06

+0

我真的認爲正確的答案需要強制性的詞在其中某處。轉換也是有道理的,但要簡明扼要,應該明確它是一種隱含的轉換髮生。 – 2015-10-09 14:06:29

10

是,!==!=運營商的嚴格的版本,如果操作數是不同類型的無類型強制完成:

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

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

我正要張貼this w3schools page,但有趣的是它不包含這個操作符!

至少,!==確實是===的倒數,它測試類型和值的相等性。