Начиная с ECMA 6, это ключевое слово позволяет определять локальные переменные области блока. Все еще находящиеся в стадии разработки, все основные браузеры поддерживают только базовую реализацию этого ключевого слова.

Что ж, это не веская причина для нас не знакомить вас с ним.

let variableName = VariableValue

Подобно синтаксису var, вы можете определить переменную и присвоить ей значения. Разница в том, как они оба ведут себя в сценарии. Ключевое слово let позволяет разработчику определять переменные для функции или выражения с ограниченной областью действия, и он сможет получить доступ только к определенной переменной в соответствующей области. Например, если он используется в цикле for ,

for(let i = 1; i <= 5; i++){
   //i will only be visible here and in the for() parentheses
}

Если мы возьмем приведенный выше пример и обернем его функцией, то увидим, что переменные будут доступны как таковые.

function checkLetAvailability(){
   //i will not be accessible from here
   for(let i = 1; i <= 5; i++){
      //i will only be visible here and in the for() parentheses
   }
   //i will not be accessible from here either
}

Это было бы совершенно по-другому, если бы мы использовали var вместо let в том же сегменте кода. Он будет вести себя следующим образом.

function checkLetAvailability(){
   //i can be accessed from here
   for(var i = 1; i <= 5; i++){
      //i will only be visible here and in the for() parentheses
   }
//i can be accessed from here too
}

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

Начиная с ECMA 6