Maison >interface Web >js tutoriel >Pourquoi « [[]][ []] [ []] » est-il évalué à « 10 » en JavaScript ?
Démêler le puzzle JavaScript : déchiffrer " [[]][ []] [ []]"
En JavaScript, l'expression " [[]][ []] [ []]" peut sembler déroutant au début, mais un examen plus approfondi révèle une série d'opérations qui renvoient finalement la chaîne "10."
En décomposant l'expression, nous avons :
Disséquons l'expression étape par étape :
1. [] :
En JavaScript, [] contraint le tableau vide [] en un nombre, ce qui donne 0. Cela est dû au comportement de l'opérateur unaire, qui convertit son opérande en un type Number. .
2. [[]][ []] :
Cette expression renvoie le tableau interne ([]) du tableau externe [[]].
3. [[]][ []] :
L'opérateur incrémente la valeur de son opérande de un. Par conséquent, cette opération incrémente le tableau interne ([)]), ce qui est une fausse valeur. L'incrémentation d'une valeur fausse en JavaScript renvoie 1.
4. [ []] :
Semblable à [], cette expression contraint le tableau vide [] en un nombre, ce qui donne à nouveau 0.
5. 1 0 :
Nous avons maintenant deux nombres à ajouter : 1 du tableau interne incrémenté et 0 de la deuxième coercition du tableau vide. Le résultat est 1.
6. 1 [0] :
Fait intéressant, en JavaScript, [0] est véridique et est évalué à la chaîne « 0 ». Lors de la concaténation d'une chaîne et d'un nombre, JavaScript force le nombre à devenir une chaîne. Par conséquent, cette opération donne "10".
Par conséquent, l'expression apparemment énigmatique " [[]][ []] [ []]" se déroule en une série de conversions de types et de concaténations, renvoyant finalement la chaîne " 10."
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!