Question Différence entre == et === en JavaScript [en double]


Dupliquer possible:
Javascript === vs ==: Est-ce que l'opérateur "égal" que j'utilise importe? 

Quelle est la différence entre == et === en JavaScript? J'ai aussi vu != et !== les opérateurs. Y a-t-il plus de tels opérateurs?


1411
2018-02-07 11:53


origine


Réponses:


=== et !== sont des opérateurs de comparaison stricts:

JavaScript a à la fois strict et   comparaison d'égalité de conversion de type.   Pour une égalité stricte les objets étant   comparé doit avoir le même type et:

  • Deux chaînes sont strictement égales lorsqu'elles ont la même séquence de   caractères, même longueur et même   caractères dans les positions correspondantes.
  • Deux nombres sont strictement égaux lorsqu'ils sont numériquement égaux   la même valeur numérique). NaN n'est pas   égal à tout, y compris NaN.   Les zéros positifs et négatifs sont égaux   à une autre.
  • Deux opérandes booléens sont strictement égaux si les deux sont vrais ou   les deux sont faux.
  • Deux objets sont strictement égaux s'ils se réfèrent au même objet.
  • Les types Null et Undefined sont == (mais pas ===). [C'est à dire. (Null == Undefined) est vrai mais (Null === Undefined) est faux]

Opérateurs de comparaison - MDC


1075
2018-02-07 11:55



Jetez un oeil ici: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

Les 3 signes égaux signifient «égalité sans coercition de type». En utilisant le triple égal, les valeurs doivent également être égales en 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

1760
2018-02-07 11:57