Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - ++[[]][+[]]+[+[]] == 10
Forum - Javascript - ++[[]][+[]]+[+[]] == 10

Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6110
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 0:06
Martedì, 07/04/2015
Sapevate che il risultato è true?

Codice sorgente - presumibilmente Javascript

  1. ++[[]][+[]]+[+[]] == 10 // true



lol


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 1:03
Martedì, 07/04/2015
lol, pensavo fosse una sfida per il parser di titoli del forum :)


Ingegnere Informatico
https://ldlagency.it
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6110
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 1:44
Martedì, 07/04/2015
Anche.


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1127
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 17:43
Martedì, 07/04/2015
Esiste una spiegazione?


La programmazione è arte... fa che i tuoi script siano degni di un museo.
PM Quote
Avatar
ZioCrocifisso (Member)
Pro


Messaggi: 135
Iscritto: 06/03/2013

Segnala al moderatore
Postato alle 18:06
Martedì, 07/04/2015
L'operatore che ha precedenza minore è "+", che in questo caso opera sulle stringhe, quindi l'intera espressione è la concatenazione di ++[[]][+[]] e [+[]]. In JavaScript l'operatore "+" unario converte in un numero, e l'array vuoto diventa 0, quindi la seconda espressione è [+[]] == [0] == "'0". Per quanto riguarda la prima, quello che fa è incrementare di uno l'elemento dell'array [[]] il cui indice è [+[]] (ovvero 0). Il motivo per cui fa questa operazione è che non puoi fare ++[], perché ++ opera sulle variabili, e in quel caso la variabile è l'elemento [0] dell'array, che è un oggetto. Ovviamente avrebbe potuto fare (+[] + 1), ma lo scopo era evidentemente non usare i caratteri numerici, altrimenti avrebbe potuto benissimo scrivere "10".


PM Quote