Facendo qualche refactoring, ho notato uno schema insolito con cui non ho familiarità. Le proprietà e le variabili che non hanno ancora un valore vengono inizializzate con undefined dichiarato esplicitamente, nonostante il fatto che le variabili value-less e le proprietà dell'oggetto valgano comunque a undefined :
var foo = undefined;
this.prop = undefined;
C'è un motivo per farlo?