Maison >interface Web >js tutoriel >Quelle est la différence entre == et === en JavaScript

Quelle est la différence entre == et === en JavaScript

青灯夜游
青灯夜游original
2018-11-19 17:27:254402parcourir

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(&#39;<br>&#39;) 

	// 这里没有类型转换发生,
	// 因此返回 false 
	document.write(9 === "9"); 
</script>

Résultat d'exécution :

Quelle est la différence entre == et === en JavaScript

Exemple 2 : Chaîne littérale Comparer avec l'objet chaîne

<script> 
	// 字符串对象类型转换为字符串文字
	// 因此,返回 true
	document.write("hello" == new String("hello")); 

	// 换行
	document.write(&#39;<br>&#39;) 

	// 没有进行类型的强制转换
	//因此,返回 false 
	document.write("hello" === new String("hello")); 
</script>

résultat de l'opération :

Quelle est la différence entre == et === en JavaScript

Exemple 3 : type booléen et chaîne

<script> 
   document.write(&#39;==:<br>&#39;);
   // 这里 字符“1” 被转换为true(布尔类型)
      // 因此,返回 true
   document.write(true == &#39;1&#39;);
   document.write(&#39;<br>&#39;) 
   // 这里 数字1 被转换为true(布尔类型)
      // 因此,返回 true
   document.write(true == 1);
   document.write(&#39;<br>&#39;) 
  
   // 没有类型转换,因此 返回 false   
   document.write(&#39;==:<br>&#39;); 
   document.write(true === &#39;1&#39;);
   document.write(&#39;<br>&#39;)
   document.write(true === 1);
</script>

opération Résultat :

Quelle est la différence entre == et === en JavaScript

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!

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