2009-12-11 8 views
19

Was ist der Unterschied zwischen dem Operator! == und dem Operator! =? Verhält es sich ähnlich dem Operator ===, wo es sowohl den Wert als auch den Typ vergleicht?Javascript-Operator! ==

+0

Inverse Ihrer Frage: http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use –

Antwort

33

Ja, es ist der gleiche Betreiber wie ===, nur für in Gleichheit:

!== - liefert true, wenn die beiden Operanden nicht identisch sind. Dieser Operator konvertiert die Operandentypen nicht und gibt nur false zurück, wenn sie denselben Typ und Wert haben. - Wikibooks

+2

+1 - Ungleichheit ohne Art Zwang –

+0

ich wirklich denke, die richtige Antwort braucht irgendwo das Wort Zwang. Konvertieren macht auch Sinn, aber um kurz zu sein, sollte klar gemacht werden, dass es sich um eine implizite Konvertierung handelt. –

10

Ja, !== ist die strenge Version des != Operator, erfolgt keine Typumwandlung, wenn die Operanden unterschiedlichen Typs sind:

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

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

Ich war über this w3schools page zu schreiben, aber komischerweise Es enthielt diesen Operator nicht!

Zumindest ist die !== tatsächlich das Gegenteil von ===, die die Gleichheit von beiden Typ und Wert prüft.