Maison >interface Web >js tutoriel >Introduction aux opérateurs == et === dans les compétences JavaScript_javascript

Introduction aux opérateurs == et === dans les compétences JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 16:23:001276parcourir

En JavaScript, les opérateurs == et === peuvent être utilisés pour déterminer si deux valeurs sont égales ; la différence est que si les deux types de valeur sont incohérents, l'opérateur === renverra directement false, while L'opérateur == sera jugé après la conversion de type. Les règles détaillées de jugement sont les suivantes :

=== Règles de jugement pour les opérateurs

1. Si les types des deux valeurs sont incohérents, renvoyez false.
2. Si les deux valeurs ont le même type et la même valeur, retournez true. NaN est un cas particulier, NaN===NaN renvoie false.
3. Si les deux valeurs sont toutes deux de type objet, alors tout comme Java, à moins que les deux références ne soient cohérentes (la référence pointe vers la même adresse d'objet), même si le contenu de l'objet est exactement le même, le deux valeurs sont considérées comme incohérentes et les opérations correspondantes effectuées renverront faux. Par exemple, si vous créez deux nouveaux tableaux avec exactement le même contenu et effectuez l'opération === sur eux, le résultat renvoyé est faux - bien que leur contenu soit exactement le même, ils appartiennent toujours à deux objets différents.
4.0===-0 renvoie vrai.

==Règles de jugement pour les opérateurs

L'opérateur

== convertira le type de la valeur avant la comparaison. La conversion de type suit les principes suivants : il est d'abord converti en nombre avant la comparaison, et l'objet Date est d'abord converti en chaîne avant la comparaison. Les règles spécifiques de jugement sont les suivantes :

1. Si les deux types de valeur sont cohérents, effectuez l'opération === et revenez.
2.null==indéfini est vrai.
3. true sera converti en 1 avant comparaison, false sera converti en 0 avant comparaison.
4. Si l'une des valeurs est un objet, convertissez-la en nombre avant comparaison, sauf pour les objets Date.
5. Si l'une des valeurs est un objet Date, convertissez-la en chaîne avant la comparaison.

Expérimenter

Copier le code Le code est le suivant :

console.log("3" === 3);//false
console.log(NaN === NaN);//false
var une = {x:1, y:2};
var b = {x:1, y:2};
var c = une;
console.log(a === b);//false
console.log(a === c);//true
console.log(0 === -0);//true

console.log("3" == 3);//true
console.log(null == non défini);//true
console.log(true == 1);//true
console.log(true == 9);//false

console.log([9] == 9);//true
console.log([9] == "9");//true

var d = nouvelle Date();
var s = d.toString();
var n = d.valueOf();
console.log(d == s);//true
console.log(d == n);//false

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn