Использование const
Все материалы по ES6
Помимо
var
и let
мы можем использовать для объявления переменных ключевое слово - const
.
const
- constant - постоянная. Позволяет объявить постоянные значения,
которые нельзя изменить в ходе программы.
Давайте попробуем применить
const
!
Вначеле запустим скрипт Babel, который будет следить за файлами и при их изменении создавать свежие версии файлов.
Для этого нам следует открыть папку проекта в КС (командной строке) и ввести команду:
npm run watch
и нажать Enter
Скрипт запустится и теперь Babel будет следить за файлами.
Генерированные файлы нас будут интересовать только в порядке ознакомления, так как современные версии браузеров поддерживают
const
без транспиляции.
В папке src я создал файл const.js.
В этом файле мы создадим постоянную
PI
использую const
.
Выводим значение
PI
в консоле.
const PI = 3.14159; console.log(PI);
Во мноих языках, включая JS, имена постоянных пишутся большими буквами, чтобы легко отличить их от переменных.
Тепреь важно изменить путь к файлу в файле index.html
<script src="src/const.js"></script>
Сохраняем и открываем в браузере.
И в консоле мы увидим значение
PI
.
Если мы посомтрим на то, что сгенерировал Babel, то мы увидим:
"use strict"; var PI = 3.14159; console.log(PI);
Как вы видите. он просто заменил
const
на var
.
Как я уже говорил, если бы мы даже использовали нетранспилированный файл с
const
, то никаких ошибок мы бы не увидили!
Постоянная может быть объявлена только один раз и значение ей должно быть присвоено сразу
Если этого не сделать, то произойдет ошибка.
Давайте посмотрим. Стоит только убрать значение у
PI
и произойдет ошибка
-Переменой не присвоено значение!-
Теперь, вернем значение и попробуем его изменить ниже.
const PI = 3.14159;
PI = 3.15;
console.log(PI);
Сохраним и посмотрим в консоле.
Теперь мы увидим другую ошибку
-Нельзя присвоить переменной иное значение. -
Постоянная, как и преременная объявленная через
let
не поднимаются.
То естсь нельзя использовать постоянную до её объявления!
Для примере перенесем вывод переменной до объявления константы:
console.log(PI); const PI = 3.14159;
Мы получим ошибку.
- PI не объявлена -
Еще одна интересная особенность постоянных это то, что хотя мы и не можем поменять их значение,
мы можем изменить значение свойства объекта, если он был объявлен при помощи
const
С другой стороны в этом нет ничего странного, потому что если переменной присвоен объект, то в переменной будет находиться не сам объект, а ссылка на него.
Давайте посмотрим на примере.
const CAT = { COLOR: 'black' }; console.log(CAT.COLOR);
Теперь мы изменим значение
COLOR
на const CAT = { COLOR: 'black' }; CAT.COLOR = 'white'; console.log(CAT.COLOR);
И мы видим, что значение легко изменилось!
Нам это удалось. потому что мы изменили свойства объекта, а не саму постоянную!
При попытке изменить сам объект чаще всего происходит ошибка. В последних версиях - просто выдает настоящие значения - значения заданные при инициализации обьекта.
Например:
const CAT = { COLOR: 'black' }; СAT = { COLOR: 'white' }; console.log(CAT.COLOR);
Просто покажет в консоле
black
Что использовать const
, let
или var
?
Если вы точно знаете, что значение переменной не изменится, тогда используйте - const
.
В остальных случаях используйте
let
.
Есть мнение. что по умолчанию следует использовать
const
и только для значений, которые изменятся - let
.
А что с
var
? К сожалению, при написании кода на ES6 в нем нет необходимости.
Комментариев нет:
Отправить комментарий