В 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
Веб-документы MDN
Подробнее читайте на hacks.mozilla.org На этой неделе Интернет был подожжен (каламбур) тем, что я называю «лисьими воротами… разработчик.mozilla.org»