пусть вар или вар пусть
За последние пару месяцев я много узнал о JavaScript. Злоупотребляя языками в течение многих лет, я осмелюсь сказать, что теперь у меня есть лучшее понимание языка, и я пришел клюбовь Преимущества его функциональной природы.
В последнее время я начал изучать Схему, но это просто для удовольствия. Сидя вСсылка на MDN Я заметил, что у JS, хотя и отсутствует область действия блока, есть ключевое слово, которое можно использовать для объявления переменной, локальной для данного блока, так же, как схемаlet
:
for (var i=0;i<someArray.length;i++)
{
console.log(someArray[i]);
}
console.log(i);//will log someArray's length
В то время как:
for (let i=0;i<someArray.length;i++)
{
console.log(someArray[i]);
}
console.log(i);//undefined
Итак, что я хочу знать сейчас: почему нетlet
используется чаще? Это как-то связано с поддержкой X-браузера? Это только один из техменее известные-лакомства?
Короче, каковы преимущества использованияvar
надlet
Какие предостережения?
Насколько я могу судить, поведениеlet
является, во всяком случае, более последовательным (двойные объявления в одном блоке поднимаютTypeError
, за исключением функциональных органов (это возможно в черновиках ECMA6).
Честно говоря, кроме того, что эта особенность / ключевое слово не очень хорошо известны, я изо всех сил думаю оЛюбые аргумент против использованияlet
для циклов или в любом месте, где временная переменная создает более читаемый код.