Использование 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 в нем нет необходимости.







Комментариев нет:
Отправить комментарий