В ES6 javascript представил два новых метода объявления переменных, а именно «let» и «const». И сегодня мы увидим, чем они отличаются от «вар» и в чем между ними разница.

1.Вар

  • Это область действия функции, что означает, что его можно использовать в любом месте внутри объявленной функции.
  • Его можно переобъявить или переназначить.
  • Он поднимается вверх, но возвращает undefined, если вы попытаетесь получить доступ к переменной до ее объявления.

2. Пусть

  • Он имеет область действия блока, доступ к нему возможен только внутри блока, в котором он объявлен.
  • Его можно только переназначить, но не повторно объявлять.
  • Он поднимается наверх, но не инициализируется, поэтому вы получите ошибку ссылки, если попытаетесь получить к нему доступ до его объявления.

Объявление и переназначение переменной let.

Доступ разрешен снаружи, если блок выдает ReferenceError.

Повторное объявление let приводит к ошибке SyntaxError.

Доступ к let до его объявления приводит к ошибке ReferenceError.

3. Константа

  • Он имеет область действия блока, доступ к нему возможен только внутри блока, в котором он объявлен.
  • Его нельзя повторно объявить или переназначить, но с объектами javascript вы можете обновлять свойства объекта, даже если объект объявлен с использованием const.
  • Он поднимается наверх, но не инициализируется, поэтому вы получите ошибку ссылки, если попытаетесь получить к нему доступ до его объявления.

Объявление константной переменной.

Переназначение const приводит к TypeError.

Повторное объявление const приводит к SyntaxError.

Доступ к const вне if block выдает ReferenceError.

Доступ к константе до ее объявления приводит к ReferenceError.

Мы можем обновить свойства object, объявленные с помощью const.

Мой вывод

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

Ссылки

https://www.w3schools.com/js/default.asp



https://www.youtube.com/channel/UCFbNIlppjAuEX4znoulh0Cw