Calculez la valeur de l'expression suivante:
[''] == faux
Tout d'abord, les deux opérandes sont le type d'objet et le type booléen. Selon la figure 1, il est nécessaire de convertir le type booléen en un type numérique, et le résultat de la conversion de faux en numérique est 0, donc l'expression devient:
[''] == 0
Les deux opérandes deviennent le type d'objet et le type numérique. Selon la figure 1, le type d'objet doit être converti en type d'origine:
Tout d'abord, appelez [] .valueof (). Étant donné que la méthode de valeur de () du tableau renvoie elle-même, le résultat n'est pas le type d'origine. Continuez à appeler [] .toString ().
Pour les tableaux, l'algorithme de la méthode toString () consiste à convertir chaque élément en un type de chaîne, puis à le concaténer en séquence avec des virgules ',', donc le résultat final est une chaîne vide ', qui est une valeur du type d'origine.
À ce stade, l'expression devient:
'' == 0
Les deux opérandes deviennent des types de chaînes et des types numériques. Selon la figure 1, il est nécessaire de convertir le type de chaîne en un type de nombre. Comme mentionné précédemment, la chaîne vide devient un nombre de 0. Ainsi, l'expression devient:
0 == 0
Jusqu'à présent, les types de deux opérandes sont enfin les mêmes, et le résultat est évidemment vrai.