var _private = my._private = my._private || {}
Questa riga significa utilizzare my._private
se esiste, altrimenti creare un nuovo oggetto e impostarlo su my._private
.
Più di un'espressione di assegnazione può essere usata in una dichiarazione. L'operatore di assegnazione utilizza (consuma) qualsiasi cosa sia a destra di esso e produce quel valore come output a sinistra della variabile assegnata. Quindi, in questo caso, con parentesi per chiarezza, quanto sopra è equivalente a var _private = (my._private = (my._private || {}))
Questo caso è un tipo di inizializzazione pigra . Una versione meno concisa sarebbe:
if (!my._private) {
my._private = {};
}
var _private = my._private;
In questo caso, sembra che l'inizializzazione pigra sia più utilizzata per qualsiasi inizializzazione della pigrizia. In altre parole, tutte le funzioni possono includere questa linea per creare o utilizzare in modo sicuro my._private
senza eliminare la var esistente.