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.

questionAnswers(1)

yourAnswerToTheQuestion