2009-06-22 4 views

Répondre

54

'===' signifie égalité sans le type coersion. En d'autres termes, si vous utilisez les équivalents triples, les valeurs doivent également être égales dans le type.

par exemple.

0==false // true 
0===false // false, because they are of a different type 
1=="1"  // true, auto type coersion 
1==="1" // false, because they are of a different type 

Source: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

+0

sa «coercition de type» pour ceux qui sont confus au sujet de la coersion. –

7

L'opérateur === signifie "est exactement égal à", correspondant à la fois à la valeur et au type de données.

L'opérateur == signifie "est égal à", correspondant uniquement à la valeur.

2

Il teste l'égalité exacte de la valeur et le type.

given the assignment 
x = 7 

x===7 is true 
x==="7" is false 
13

Ripped de mon blog: keithdonegan.com

L'opérateur d'égalité (==)

L'opérateur d'égalité (==) vérifie si deux opérandes sont les mêmes et renvoie true si elles sont identiques et false si elles sont différentes.

L'opérateur identité (===)

Les opérateur vérifie d'identité si deux opérandes sont « identiques ».

Ces règles déterminent si deux valeurs sont identiques:

  • Ils doivent avoir le même type.
  • Si les valeurs numériques ont la même valeur, elles sont identiques, sauf si l'une ou les deux sont NaN.
  • Si les valeurs de chaîne ont la même valeur, elles sont identiques, à moins que les chaînes ne diffèrent en longueur ou en contenu.
  • Si les deux valeurs se réfèrent au même objet, tableau ou fonction, elles sont identiques.
  • Si les deux valeurs sont NULL ou indéfinies, elles sont identiques.
Questions connexes