2009-12-11 5 views
19

Quelle est la différence entre l'opérateur! == et l'opérateur! =. Est-ce qu'il se comporte comme l'opérateur === où il compare à la fois la valeur et le type?Opérateur Javascript! ==

+0

Inverser de votre question: http://stackoverflow.com/questions/359494/javascript-vs-does-it-matter-which-equal-operator-i-use –

Répondre

33

Oui, il est le même opérateur comme ===, juste pour en égalité:

!== - retourne vrai si les deux opérandes ne sont pas identiques. Cet opérateur ne convertira pas les types d'opérandes et ne retournera que false s'ils ont le même type et la même valeur. - Wikibooks

+2

+1 - inégalité sans coercition de type –

+0

J'ai vraiment pense que la bonne réponse nécessite le mot coercition quelque part en elle. La conversion a aussi du sens, mais pour être succinct, il devrait être clair qu'il s'agit d'une conversion implicite. –

10

Oui, !== est la version stricte de l'opérateur !=, aucune contrainte de type se fait si les opérandes sont de différents types:

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

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

J'étais sur le point de poster this w3schools page, mais plaisamment il ne contenait pas cet opérateur!

Au moins, le !== est en effet l'inverse de === qui teste l'égalité du type et de la valeur.