Maison >interface Web >js tutoriel >Quelle est la différence entre == et === en JavaScript
Dans cet article, nous vous apportons une introduction à quelle est la différence entre les opérateurs == et === en JavaScript ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Tout d'abord, nous devons savoir : l'opérateur '==' en JavaScript représente l'égalité abstraite et l'opérateur '====' représente l'égalité stricte ; égalité.
Jetons un coup d'oeilQuelle est la différence entre les opérateurs == et === en JavaScript ?
L'opérateur '==' effectuera la conversion de type de valeur nécessaire avant de faire une comparaison d'égalité. Pour faire simple, la valeur est d’abord convertie dans le même type, puis comparée pour vérifier son égalité. Même si les types des valeurs comparées sont différents, elles peuvent être converties en le même type sans provoquer d'erreur.
Opérateur '====', il n'effectue pas de conversion de type, donc si les deux valeurs ne sont pas du même type, alors lors de la comparaison, il retournera false. Si vous comparez deux variables dont les types sont incompatibles, une erreur de compilation se produira.
Exemple 1 : Comparaison du chiffre 9 et du caractère « 9 »
<script> // 字符 "3" 被转换成 数字 3 //因此返回 true document.write(9 == "9"); // 换行 document.write('<br>') // 这里没有类型转换发生, // 因此返回 false document.write(9 === "9"); </script>
Résultat d'exécution :
Exemple 2 : Chaîne littérale Comparer avec l'objet chaîne
<script> // 字符串对象类型转换为字符串文字 // 因此,返回 true document.write("hello" == new String("hello")); // 换行 document.write('<br>') // 没有进行类型的强制转换 //因此,返回 false document.write("hello" === new String("hello")); </script>
résultat de l'opération :
Exemple 3 : type booléen et chaîne
<script> document.write('==:<br>'); // 这里 字符“1” 被转换为true(布尔类型) // 因此,返回 true document.write(true == '1'); document.write('<br>') // 这里 数字1 被转换为true(布尔类型) // 因此,返回 true document.write(true == 1); document.write('<br>') // 没有类型转换,因此 返回 false document.write('==:<br>'); document.write(true === '1'); document.write('<br>') document.write(true === 1); </script>
opération Résultat :
Explication :
1 Lorsque l'on compare des types de base tels que chaîne et nombre, == et === sont. La différence est
==, qui compare "value" ; ===, qui compare "value" et type. La valeur et le type doivent être cohérents pour renvoyer true
2. en comparant les types avancés tels que Array et Object, il n'y a aucune différence entre == et ===
3 Lorsque l'on compare les types de base avec les types avancés, il y a une différence entre == et ===
.Pour ==, le type avancé sera converti en un type de base, qui est une comparaison de "valeur"
Pour ===, parce que les types sont différents, le résultat est faux
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!