Dupliqué possible: strong>
JavaScript === vs ==: Est-ce que cela "Equal" opérateur que j'utilise?
Quand JavaScript est-il plus logique que ===?Quelle est la différence entre les méthodes ci-dessous dans la comparaison d'une chaîne à valeur non définie. P>
if(x===undefined) { alert(x); }
4 Réponses :
car Référence P> P> P > === code> vérifie également le même type. Vous comprendrez avec quelques exemples:
== code> ne vous dérange pas avec les types, qui retourne vrai. Toutefois, si vous voulez une vérification du type strict, vous utiliseriez
=== code> car cela renvoie true seul em> si le système est du même type et est la même valeur. < / p>
correspondant
positions. li>
y compris nan. Les zéros positifs et négatifs sont égaux les uns aux autres. Li>
Supposons que nous ayons x = 5, p>
== est égal à p>
x == 8 est faux x == 5 est vrai p>
=== est exactement égal à (valeur et type) p>
x === 5 est vrai x === "5" est faux p>
J'espère que vous comprenez ce concept p>
== code> tente de convertir les valeurs au même type avant de tester si elles sont identiques. "5" == 5 code> li>
-
=== code> ne fait pas cela; Il faut que des objets soient du même type à être égaux. "5"! == 5 code> li>
Dans ce cas, le résultat est: p>
-
x == non défini code> sera vrai si x code> est non défini code> ou null code>. li>
-
x === non défini code> sera vrai que si x code> est non défini code>. li>.
ul> Vous devez préférer la première méthode si vous l'souhaitez non défini et que NULL soit traité de manière équivalente. Un usage courant de ceci est des arguments de fonction optionnels. P> xxx pré> ul>
== Il suffit de comparer les deux valeurs, et s'ils sont de types différents, la conversion de type est effectuée p>
=== compare les valeurs et bien comme leurs types - donc aucune conversion de type ne sera effectuée ici. P>
DUP: Stackoverflow .com / questions / 2132878 / ...
@Deceze scénarios sont différents ...
@user alors.
== ne vérifie pas le type de données où comme indique === vérifier le type de données