Dlaczego (! [] + []) [+ !! [] + []] tworzy „a”

Jestem zainteresowany zrozumieniem wewnętrznych aspektówJavaScript. Próbowałem odczytać źródłoPająk Małpa iNosorożec ale jest dość skomplikowane, by owinąć moją głowę.

Pytam, dlaczego: dlaczego coś takiego

(![]+[])[+!![]+[]] produkować"a"(Å=[],[µ=!Å+Å][µ[È=++Å+Å+Å]+({}+Å)[Ç=!!Å+µ,ª=Ç[Å]+Ç[+!Å],Å]+ª])()[µ[Å]+µ[Å+Å]+Ç[È]+ª](Å) produkowaćalert(1)?

Źródło:http://sla.ckers.org/forum/read.php?24,32930,page=1.

Na tym forum jest dużo więcej przykładów dziwności JavaScript i chciałem wiedzieć, jak działa z punktu widzenia programowania w odniesieniu do bezpieczeństwa aplikacji internetowych.

questionAnswers(4)

yourAnswerToTheQuestion