La guida di Babel per ES6 dice:
letis 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 ?