let var oder var zu lassen

In den letzten Monaten habe ich viel über JavaScript gelernt. Nachdem ich die Sprachen jahrelang missbraucht habe, wage ich zu sagen, dass ich jetzt ein besseres Verständnis der Sprache habe und dazu gekommen binLiebe die Vorteile seiner funktionalen Natur.
In letzter Zeit habe ich angefangen, Scheme zu lernen, aber das ist nur zum Spaß. Durchsuchen derMDN-Referenz Mir ist aufgefallen, dass JS, obwohl es keinen Blockbereich gibt, ein Schlüsselwort hat, mit dem eine Variable lokal für einen bestimmten Block deklariert werden kann, ähnlich wie bei Schemelet:

for (var i=0;i<someArray.length;i++)
{
    console.log(someArray[i]);
}
console.log(i);//will log someArray's length

Wohingegen:

for (let i=0;i<someArray.length;i++)
{
    console.log(someArray[i]);
}
console.log(i);//undefined

Was ich jetzt wissen möchte, ist: Warum nichtlet öfter benutzt? Hat es etwas mit der Unterstützung von X-Browsern zu tun? Ist es nur einer von denen?weniger bekannte Leckereien?
Kurz gesagt, was sind die Vorteile der Verwendungvar ÜberletWas sind die Vorbehalte?

Soweit ich das beurteilen kann, ist das Verhalten vonlet ist, wenn überhaupt, konsistenter (doppelte Deklarationen in einem einzelnen Block erhöhen aTypeError, mit Ausnahme von Funktionskörpern (ECMA6-Entwürfe beheben dies jedoch).
Um ehrlich zu sein, abgesehen davon, dass dieses Feature / Keyword nicht sehr bekannt ist, fällt es mir schwer, darüber nachzudenkenirgendein Argument gegen die Verwendunglet for-Schleifen oder überall dort, wo eine temporäre Variable für besser lesbaren Code sorgt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage