Подтвердить что ты не робот

Пусть var или var позволяют

За последние пару месяцев я много узнал о JavaScript. Я злоупотреблял языками в течение многих лет, я осмелюсь сказать, что теперь у меня есть лучшее понимание языка, и я полюбил преимущества его функционального характера.
В последнее время я занялся изучением Схемы, но это просто для удовольствия. Просмотр ссылки MDN Я заметил, что JS, хотя и не имеет области блока, имеет ключевое слово, которое можно использовать для объявления переменной local в данном блоке, подобно Scheme let:

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

В то время как:

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

Итак, теперь я хочу знать: почему не используется let чаще? Это как-то связано с поддержкой X-браузера? Является ли это лишь одним из немногих известных лакомств?
Короче говоря, каковы преимущества использования var над let, каковы предостережения?

Насколько я могу судить, поведение let, если что-либо, более последовательное (двойные объявления в одном блоке поднимают a TypeError, за исключением тел функций (однако, исправления ECMA6 исправляют это). < бр /" > Честно говоря, кроме того, что эта функция/ключевое слово не очень хорошо известна, я изо всех сил пытаюсь придумать какой-либо аргумент против использования циклов let для циклов или где бы то ни было, где временная переменная делает более читаемый код.

4b9b3361

Ответ 1

Да, он целиком связан с поддержкой браузера. В настоящее время только Firefox реализует его (поскольку он является частью их надмножества ECMAScript).

Но это входит в ES6, поэтому есть надежда...

Я сомневаюсь, что можно сказать, что для var более let существует много преимуществ, учитывая, что они поддерживаются. Я думаю, что мантра будет "let - это новый var"