Maison > Questions et réponses > le corps du texte
Comment comprendre =, == et === en JavaScript, et comment clarifier la relation entre ces trois ?
大家讲道理2017-06-30 10:00:46
=
: opération mission
==
: Utilisé pour juger si deux valeurs sont égales, mais le jugement ici est le résultat d'une conversion implicite. Par exemple
1 == '1'; // true
1 == true; // true
0 == false; // true
===
: Elle est également utilisée pour juger si deux valeurs sont égales, mais il n'y a pas de processus de conversion implicite, mais un jugement direct, c'est pourquoi on l'appelle aussi égalité/congruence absolue.
1 === '1'; // false
1 === true; // false
0 === false; // false
1. Pour les types de base tels que chaîne et nombre, il existe une différence entre == et ===
Comparaison entre différents types, == compare les "valeurs converties dans le même type" pour voir si les "valeurs" sont égales, ===si les types sont différents, le résultat sera inégal
Comparaison de même type, comparaison directe de "valeur", le résultat sera le même
2. Pour les types avancés tels que Array et Object, il n'y a pas de différence entre == et ===
Effectuer une comparaison « adresse de pointeur »
3. Il existe une différence entre les types de base et les types avancés, == et ===
Pour ==, convertissez le type avancé en type de base et effectuez une comparaison de "valeur"
Parce que les types sont différents, le résultat de === est faux
我想大声告诉你2017-06-30 10:00:46
'=' : signifie affectation,
var a = 1,
b = 2;
return a = b; //返回2,为a赋值b,即a为2
'==' : Déterminez si les valeurs sont les mêmes, pas le type
var a = 1,
b = '1';
return a == b; //返回true
'===' : jugement précis, non seulement de la valeur mais aussi du type
var a = 1,
b = '1';
return a === b; //返回false
1. Pour les types de base tels que chaîne et nombre, il existe une différence entre == et ===
Comparaison entre différents types, == compare les "valeurs converties dans le même type" pour voir si les "valeurs" sont égales, ===si les types sont différents, le résultat sera inégal
Comparaison de même type, comparaison directe de "valeur", le résultat sera le même
2. Pour les types avancés tels que Array et Object, il n'y a aucune différence entre == et === pour la comparaison "adresse du pointeur"
3. Il existe une différence entre les types de base et les types avancés, == et ===
Pour ==, convertissez le type avancé en type de base et effectuez une comparaison de "valeur"
Parce que les types sont différents, le résultat de === est faux
学习ing2017-06-30 10:00:46
= est l'opérateur d'affectation
let a=b // 将值b赋给变量a
== et === sont des opérateurs de comparaison
a == b 比较a与b值是否相等
a === b 比较a与b是否全等,值和类型都要相同
欧阳克2017-06-30 10:00:46
== effectuera une conversion implicite du type de données, === ne le fera pas, il comparera simplement si les deux côtés sont vraiment égaux
http://www.softwhy.com/articl...
仅有的幸福2017-06-30 10:00:46
"=" est utilisé pour attribuer des valeurs, attribuer des valeurs directement.
L'opérateur "==" convertira d'abord puis fonctionnera.
"==="Absolument égal, égal seulement si les valeurs et les types des deux côtés sont égaux.
巴扎黑2017-06-30 10:00:46
Utilisez autant que possible === ==Il est facile d'avoir des problèmes