2013-04-29 28 views

risposta

20

Definirà la variabile app in un oggetto vuoto se non è già definita.

Questo funziona perché non definito valuta in false in Javascript.

Se è definito, può ancora essere ridefinito come oggetto vuoto se ha un valore che viene valorizzato a false, ad esempio una stringa vuota.

+2

In particolare ... definisce 'app' sull'oggetto vuoto se il valore di' app' è falsy. – Brad

+0

inizio! upvoted +1 –

+0

* "Se è già definito, lo definirà nuovamente nell'ambito del file." * Cosa significa ridefinirlo nell'ambito del file? La variabile è già in ambito. –

5

Ciò significa che "definisce l'app come oggetto vuoto se non è già definita".

L'operatore OR in JavaScript non produce necessariamente un boolean. Se il lato sinistro dell'espressione produce false, l'assegnazione prende il lato destro dell'espressione.

2

Se app è già definito, non fa nulla. Se app non è definito, allora è equivalente a var app = {};

18

Il || operatore in javascript restituirà il primo operando se è "truthy". In caso contrario, restituirà il secondo operando. Se non è stato assegnato app, sarà undefined, che è "falso". Pertanto, se non è definito o è altrimenti falsificato, un oggetto vuoto {} verrà assegnato a app.

+1

+1 L'unica risposta corretta. –

Problemi correlati