Duplicata possible :
Pouvez-vous expliquer pourquoi ++[[]][+[]]+[+[]] = 10
Je me demande quelque chose depuis quelques jours... Je sais que le plus unaire en JavaScript convertit d'abord son opérande en nombre. J'applique + à un tableau vide et j'obtiens le résultat suivant :
+[] == 0
Quand je fais ça :
+[1] == 1
Mais :
+[1,2] == NaN
Les deux dernières choses sont presque claires mais pourquoi le tableau vide est à 0 ? ! Est-ce que c'est lié à :
[] == false
Parfois, ECMAScript me fait beaucoup réfléchir...
alert([![]+[]][+[]][+[]]+[![]+[]][+[]][+!+[]]+[!+[]+[]][+![]][+![]]+[![]+[]][+[]][+!+[]]+[![]+[]][+[]][+!+[]+!+[]]+' '+(![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]);
Meilleures salutations !