En un mot: == Convertissez d'abord le type, puis comparez-le, === Jugez d'abord le type, s'il n'est pas du même type, il est directement faux.
=== signifie que les deux côtés de la comparaison doivent être absolument les mêmes
alert (0 == ""); // trueAlert (0 == false); // trueAlert ("" == false); // vrai alert (0 === ""); // FalSeAlSelert (0 === false); // FalSeAlSelert ("" === false); // FAUXParlons de ===, c'est relativement simple, les règles de comparaison spécifiques sont les suivantes:
1. Si les types sont différents, ils sont [inégaux]
2. Si les deux sont des valeurs numériques et sont la même valeur, alors [égal]; (! Exception) est, si au moins l'un d'entre eux est nan, alors [pas égal]. (Pour déterminer si une valeur est nan, vous ne pouvez utiliser qu'Isnan () pour juger)
3. Si les deux sont des chaînes et que les caractères de chaque position sont les mêmes, alors [l'égalité]; sinon [pas égal].
4. Si les deux valeurs sont vraies, ou les deux sont fausses, alors [égal].
5. Si les deux valeurs se réfèrent au même objet ou fonction, alors [égalité]; sinon [pas égal].
6. Si les deux valeurs sont nuls, ou les deux non définies, alors [égale].
Parlons de ==, les règles de comparaison spécifiques sont les suivantes:
1. Si les deux types de valeur sont les mêmes, effectuez === Comparaison et que les règles de comparaison sont les mêmes que ci-dessus.
2. Si les deux types de valeur sont différents, ils peuvent être égaux. La conversion de type est effectuée conformément aux règles suivantes, puis comparées:
un. Si l'un est nul et l'autre n'est pas défini, alors [égal].
né Si l'un est une chaîne et l'autre est une valeur numérique, convertissez la chaîne en valeur numérique, puis comparez-la.
c. Si une valeur est vraie, convertissez-la en 1 et comparez-la; Si une valeur est fausse, convertissez-la en 0 et comparez-la.
d. Si l'un est un objet et l'autre est numérique ou chaîne, convertissez l'objet en valeur du type de base, puis comparez-le. Convertissez un objet en un type de base et utilisez sa méthode TOSTRING ou Valeur. La classe intégrée JS Core essaiera de valoriser avant ToString; L'exception est Date, qui utilise la conversion TOSTRING. Objet NON JS Core, disons (c'est plus gênant, je ne comprends pas beaucoup)
e. Toute autre combinaison (tableau du tableau, etc.), sont [inégales].