Maison > interface Web > js tutoriel > Pourquoi « [[]][ []] [ []] » est-il évalué à « 10 » en JavaScript ?

Pourquoi « [[]][ []] [ []] » est-il évalué à « 10 » en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-11-20 21:25:19
original
536 Les gens l'ont consulté

Why Does

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!

Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal