La guida di Babel per ES6 dice:
let
is the newvar
.
Apparentemente l'unica differenza è che var
viene esaminata nella funzione corrente , mentre let
viene portata all'ambito del blocco corrente. Ci sono alcuni buoni esempi in questa risposta .
Non vedo alcun motivo per utilizzare var
nel codice ES6. Anche se si desidera applicare una variabile data all'intera funzione, è possibile farlo con let
inserendo la dichiarazione nella parte superiore del blocco funzione, che è ciò che si dovrebbe fare con var
in ogni caso per indicare l'effettiva scopo. E se vuoi scoprire qualcosa di più finemente in un blocco for
o qualcosa del genere, puoi farlo anche tu.
Quindi il mio istinto è di smettere di usare var
del tutto quando scrivo il codice ES6.
La mia domanda è, ho sbagliato su questo? C'è qualche caso legittimo in cui var
sarebbe preferibile su let
?