Différence entre == et === en JavaScript [double]
-
22-08-2019 - |
Question
Possible en double: Javascript === == vs: Est-il important que opérateur « égal » Je l'utilise?
Quelle est la différence entre ==
et ===
en JavaScript? Je l'ai vu aussi les opérateurs de !=
et !==
. Y at-il plus ces opérateurs?
La solution
===
et !==
sont des opérateurs de comparaison stricte:
JavaScript a à la fois stricte et type à conversion de comparaison d'égalité. Pour l'égalité des
strict
les objets étant par rapport doivent avoir le même type et:
- Deux chaînes sont strictement égaux quand ils ont la même séquence de caractères, de même longueur et même caractères dans des positions correspondantes.
- Deux numéros sont strictement égaux quand ils sont numériquement égaux (ont la même valeur en nombre).
NaN
n'est pas égal à quoi que ce soit, y comprisNaN
. zéros positifs et négatifs sont égaux les uns aux autres.- Deux opérandes booléens sont strictement égaux si les deux sont vraies ou les deux sont faux.
- Deux objets sont strictement égales si elles se rapportent à la même
Object
.Null
et typesUndefined
sont==
(mais pas===
). [C'est à dire. (Null==Undefined
) esttrue
mais (Null===Undefined
) estfalse
]
Autres conseils
Jetez un coup d'oeil ici: http: //longgoldenears.blogspot .com / 2007/09 / triple égal en javascript.html
Les 3 signes égaux signifie « égalité sans contrainte de type ». En utilisant les égaux triples, les valeurs doivent être égales dans le type aussi bien.
0 == false // true
0 === false // false, because they are of a different type
1 == "1" // true, automatic type conversion for value only
1 === "1" // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false