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
Überlet
Was 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.