niech var lub var pozwolą
W ciągu ostatnich kilku miesięcy dużo się uczyłem o JavaScript. Nadużywając języków przez lata, ośmielę się powiedzieć, że teraz mam lepsze zrozumienie języka i doszedłem do tegomiłość korzyści z jego funkcjonalnego charakteru.
Ostatnio podjąłem się programu nauczania, ale to tylko dla zabawy. PrzeglądanieOdniesienie MDN Zauważyłem, że JS, chociaż nie ma zasięgu blokowego, ma słowo kluczowe, które może być użyte do zadeklarowania zmiennej lokalnej dla danego bloku, podobnie jak Schemelet
:
for (var i=0;i<someArray.length;i++)
{
console.log(someArray[i]);
}
console.log(i);//will log someArray's length
Natomiast:
for (let i=0;i<someArray.length;i++)
{
console.log(someArray[i]);
}
console.log(i);//undefined
Teraz chcę wiedzieć: dlaczego nielet
częściej używane? Czy ma coś wspólnego z obsługą przeglądarki X? Czy to tylko jedna z nichmniej znane gadżety?
Krótko mówiąc, jakie są zalety używaniavar
konieclet
, jakie są zastrzeżenia?
O ile wiem, zachowanielet
jest bardziej spójny (podwójne deklaracje w jednym bloku podnoszą aTypeError
, z wyjątkiem ciał funkcyjnych (jednak poprawiają to wersje robocze ECMA6).
Szczerze mówiąc, poza tą funkcją / słowem kluczowym, które nie są zbyt dobrze znane, staram się o tym myślećkażdy argument przeciwko użyciulet
dla pętli lub gdziekolwiek, gdzie zmienna tymczasowa zapewnia bardziej czytelny kod.