2009-07-07 7 views
26

Possible en double:
Javascript === vs == : Does it matter which “equal” operator I use?Quand devriez-vous utiliser === vs ==,! == vs! =, Etc .. en javascript?

Quelles sont les différences entre === et == == == et ... quand utiliser un et quand utiliser la autre?

Matt

+4

Ceci est une dupe d'environ 1000 questions –

+1

Pouvez-vous poster un lien vers ces autres questions? Je m'assure toujours que je regarde d'abord, évidemment les titres n'étaient pas assez clairs pour être trouvés facilement. Peut-être que cette question aidera aussi les gens dans la bonne direction au cas où ils n'auraient pas cherché la chose exacte. – Matt

+1

Mes pensées exactement. En voici un: http://stackoverflow.com/questions/359494/javascript-vs – GManNickG

Répondre

32

=== est l'opérateur d'identité, et est utilisé pour tester cette valeur et le type sont égaux.

so ..

"3" == 3 // true 
"3" === 3 // false 
1 == true // true 
1 === true // false 
"1" == true // true 
"1" === true // false 

donc quand vous souciez que la valeur et le type sont égaux, ou non égal utilisation opérateurs d'identité === ou! ==

+0

gentil et définitif – annakata

+0

"1" == vrai .. quoi? Je pensais que je connaissais ces règles merci de mettre en évidence –

+0

@ KissKoppány si vous êtes confus, c'est parce que 1 et 0 sont des opérateurs booléens. == fait la conversion de type, donc '1' == 1 == vrai, '0' == 0 == faux. === NE fait PAS de conversion de type. Généralement, il est préférable d'utiliser === sauf si vous vous attendez à ce que vos vars changent souvent, ce qui est bizarre (pour moi au moins) – Prefix

8

Les « normaux » == opérateurs en javascript effectuent la contrainte de type et de leur mieux pour faire des choses comme traiter une chaîne comme numéro ou un objet comme une chaîne si nécessaire. Le plus long === opérateurs pas faire coercition de type, mais plutôt une comparaison stricte dans le type.

2

=== et !== sont les mêmes que == et !=, mais effectue également des vérifications pour les types de variables.

Questions connexes