Quelle est la différence entre ==
et ===
en JavaScript ? J'ai également vu les opérateurs !=
et !==
. Existe-t-il d'autres opérateurs de ce type ?
Jetez un coup d'œil ici : [http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html] [1]
Les 3 signes égaux signifient "égalité sans coercition de type". En utilisant le triple égal, les valeurs doivent également être de même type.
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
[1] : http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html
===
et !==
sont des opérateurs de comparaison stricts :
JavaScript possède à la fois une comparaison stricte et comparaison d'égalité avec conversion de type. Pour une égalité
stricte
, les objets comparés doivent comparés doivent avoir le même type et :
- Deux chaînes de caractères sont strictement égales lorsqu'elles ont la même séquence de caractères, la même longueur et le même type. caractères, la même longueur et les mêmes caractères dans les positions correspondantes. Deux nombres sont strictement égaux lorsqu'ils sont numériquement égaux (ils ont la même valeur). la même valeur numérique).
NaN
n'est pas n'est pas égal à quoi que ce soit, y comprisNaN
. Les zéros positifs et négatifs sont égaux entre eux. Les zéros positifs et négatifs sont égaux l'un à l'autre. Deux opérandes booléens sont strictement égaux si les deux sont vrais ou faux. les deux sont faux. Deux objets sont strictement égaux s'ils font référence au mêmeObject
.- Les types
Null
etUndefined
sont==
(mais pas===
). [C'est-à-dire que (Null==Undefined
) estvrai
mais (Null===Undefined
) estfaux
].
[Opérateurs de comparaison - MDC][1]
[1] : https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Comparison_Operators