Amo il meccanismo ||=
di Ruby. Se una variabile non esiste o è nil
, quindi creare e impostarlo uguale a qualcosa:Ruby's || = (o uguale a) in JavaScript?
amount # is nil
amount ||= 0 # is 0
amount ||= 5 # is 0
ho bisogno di fare qualcosa di simile in JavaScript ora. Qual è la convenzione o il modo corretto per farlo? So che ||=
non è una sintassi valida. 2 modi ovvi per gestirlo sono:
window.myLib = window.myLib || {};
// or
if (!window.myLib)
window.myLib = {};
In pratica sembra che il 'a = a || la forma di b' è più ottimale http://jsperf.com/x-or-x-equals-0-vs-x-equals-x-or-0/3 – jchook
un ottimo strumento. che aspetto ha se x ha un valore e così corto circuito? – chris
Credo che il teardown debba essere esplicito su jsperf quindi [questo test] (http://jsperf.com/x-or-x-equals-0-vs-x-equals-x-or-0/4) dovrebbe mostrare le prestazioni di corto circuito. La mia ipotesi è che V8 abbia un'ottimizzazione speciale per il modulo 'a = a || b'. – jchook