Короче говоря: Const

Если вы новичок или имеете некоторый опыт работы с javascript, вы могли встретить это ключевое слово: c onst. Легко понять, когда это можно использовать. Итак, как мы могли определить const?

Короче говоря, «Const - ключевое слово объявления переменной с блочной областью видимости, которое позволяет нам создавать изменяемые переменные, доступные только для чтения». Для некоторых людей этого определения должно быть достаточно, чтобы понять, что это такое. Но если вы хотите углубиться в то, что там написано, давайте узнаем больше о нашем слове «Const».

Javascript - это вселенная, которая постоянно расширяется. Давным-давно, до появления let или шаблонных литералов, количество слов для объявления переменных было ограничено… ну, «var» было единственным, что у нас было. С появлением ES6 (ECMAScript 2015) мы получили много новых дополнений к языку, среди которых const.

После появления ES6 код javascript начал развиваться. Мы начали работать с блочными переменными, но чтобы понять «блочные переменные», нам нужно понять, что это означает. Это означает то, что обозначает его имя, переменные, которые инкапсулированы в области, в которой они объявлены, и не существуют за пределами этого блока.

Чтобы лучше понять это, давайте проверим следующий код:

Для глобального масштаба

Мы наблюдаем за значениями a и b, напечатанными на консоли. Переменные существуют в той же области видимости, в которой они объявлены. Но для второго я специально напечатал сначала значение d, потому что d объявлен с использованием var и не имеет области видимости, поэтому значение печатается, как разница для c, который объявлен с использованием const и имеет блочную область видимости, мы получаем «ReferenceError», потому что мы вызываем переменную вне scope он был объявлен, поэтому его больше не существует.

Примечание. Глобальные переменные, объявленные с помощью ключевого слова const , не становятся свойствами объекта окна

На этом этапе мы можем поговорить о том, когда const появилась в javascript, и о его свойстве блочной области видимости. Теперь мы можем обсудить, почему я сказал, что это переменная только для чтения.

Прежде чем продолжить, как вы уже догадались, const означает константу, что дало нам представление о том, с чем мы имеем дело.

Переменные только для чтения - это переменные, которые в значительной степени выполняют то, что Он говорит, это переменные, которые предназначены только для чтения и не допускают переназначения или повторного объявления. Вот почему мы получаем синтаксическую ошибку, если пытаемся объявить постоянную переменную без присвоения начального значения. И даже если бы мы могли это сделать, мы просто не смогли бы присвоить значение позже, так что давайте будем благодарны, что мы не можем этого сделать.

Глядя на код, мы можем сказать, что получим ошибку. Мы получаем «TypeError», потому что пытаемся переназначить значение константе.

Я упомянул еще одну концепцию, которую я не объяснил. И это: «изменяемый». Изменяемые переменные - это переменные, которые можно изменять, но это свойство не присуще всем типам переменных. В Javascript непримитивные значения могут изменяться. При этом объекты изменяемы. И изменчивый не означает, что его можно переназначить, но его состояние или его содержимое можно изменить.

Сначала может быть сложно понять эту концепцию, но мы можем проверить ее на следующем примере:

В этом примере я создал постоянный объект, и когда я изменяю значение general из объекта, я не получаю никаких ошибок, потому что мы меняем значение свойства, но когда мы пытаемся переназначить переменную, по той же причине выдается та же ошибка, что и в предыдущем примере.

На этом этапе я объяснил термины, которые использовал в определении, которое я дал в начале, чтобы вы, читатель, теперь поняли и были уверены, что лучше поймете, что такое значение ключа объявления const.

Информация о бонусе:

Как насчет подъема, переменные объявлены с помощью const поднятого?

Это происходит так же, как и с переменными, объявленными с помощью let, они не поднимаются. У этих переменных есть что-то, что мы можем назвать временной мертвой зоной (TDZ). Для переменных, объявленных с помощью var, если мы вызвали их до того, как они инициализированы в коде, он будет иметь значение undefined, но без ошибок (потому что они подняты), для переменных, объявленных с помощью let или const, если мы вызывая их до того, как они будут объявлены, мы попадаем в мертвую зону, потому что вместо undefined мы получаем ReferenceError. Временная мертвая зона - это время между запуском блока и инициализацией переменных.

Огромное спасибо MDN, отличному источнику информации для меня, чтобы писать статью и в моей повседневной жизни.

[1]: Участники MDN. C onst https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

Участники MDN. let-Temporal Dead Zone (TDZ) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const