Кратко
Секция статьи "Кратко"const
— ключевое слово языка для объявления констант. Константа — переменная, значение которой нельзя переназначить.
Пример
Секция статьи "Пример"const DAYS_IN_YEAR = 365
const DAYS_IN_YEAR = 365
Как это понять
Секция статьи "Как это понять"Константы — те же переменные. Единственная разница в том, что их нельзя переопределить.
Если попробовать это сделать, то код упадёт с ошибкой TypeError
:
const DAYS_IN_YEAR = 365console.log(DAYS_IN_YEAR)DAYS_IN_YEAR = 600 // ошибка, константы нельзя переопределять
const DAYS_IN_YEAR = 365 console.log(DAYS_IN_YEAR) DAYS_IN_YEAR = 600 // ошибка, константы нельзя переопределять
☝️ Если константа хранит массив или объект, то сам массив/объект изменять можно! Нельзя заменить один объект на другой. Это происходит из-за того, что константа хранит ссылку на сложное значение, а не само значение.
const series = ["Doctor House", "Scrubs", "Black Mirror"]series.push("The Young Pope") // можем изменять сам массивseries = [] // 🙅♂️ не можем _заменить_ один массив на другой// та же история с объектамиconst person = { name: "X Æ A-12", lastName: "Musk" }person.age = 0 // можем изменять объектperson = { name: "Педро" } // 🙅♀️ не можем заменить на новый объект
const series = ["Doctor House", "Scrubs", "Black Mirror"] series.push("The Young Pope") // можем изменять сам массив series = [] // 🙅♂️ не можем _заменить_ один массив на другой // та же история с объектами const person = { name: "X Æ A-12", lastName: "Musk" } person.age = 0 // можем изменять объект person = { name: "Педро" } // 🙅♀️ не можем заменить на новый объект
Зачем нужны константы?
Секция статьи "Зачем нужны константы?"Константы защищают код от случайной перезаписи важных значений.
Применяют константы в двух случаях:
- мы хотим объявить переменную, которая хранит фундаментальное значение для программы. Например, количество дней в году, минимальную сумму заказа, форматы дат и т.д.
- мы объявляем переменную и устанавливаем ей значение всего один раз
Как пишется
Секция статьи "Как пишется"Константы объявляются так же, как и переменные:
const name = value
const name = value
name
Имя константы. Может использоваться любой допустимый идентификатор.
value
Значение константы. Любое допустимое выражение.
На практике
Секция статьи "На практике"Константы в современном JS используют чаще, чем переменные. В большинстве случаев, значение переменной устанавливается только один раз. Хорошей практикой считается объявлять такие переменные через const
и писать название переменной в camelCase, чтобы подчеркнуть этот факт:
for (let i = 0; i < users.length; ++i) { const user = users[i] printUserInfo(user)}
for (let i = 0; i < users.length; ++i) { const user = users[i] printUserInfo(user) }
Используй CAPS
формат именования, если нужно объявить константу, которая хранит важное значение для программы: количество элементов на странице по умолчанию, формат даты, максимальное количество заказов и т.д.
const ITEMS_PER_PAGE = 25for (let i = 0; i < products.length && i < ITEMS_PER_PAGE; i++) { printItem(products[i])}
const ITEMS_PER_PAGE = 25 for (let i = 0; i < products.length && i < ITEMS_PER_PAGE; i++) { printItem(products[i]) }