JS об'єкт const
Загальний опис
const
є ключовим словом у JavaScript, яке використовується для оголошення змінної з незмінним посиланням. Це означає, що після ініціалізації змінної через const
, її значення не можна переназначити. Однак, якщо змінна є об’єктом або масивом, їхні внутрішні властивості або елементи можуть змінюватися.
Використання const
є найкращою практикою для змінних, які не повинні змінювати своє значення після ініціалізації. Це забезпечує передбачуваність і допомагає уникнути помилок, пов’язаних із випадковим переприсвоєнням змінної.
Приклад:
const PI = 3.14159;
console.log(PI); // 3.14159
// PI = 3; // Помилка: переприсвоєння заборонено
Важливо зазначити, що const
потребує обов’язкової ініціалізації під час оголошення:
const name; // Помилка: має бути ініціалізовано
Для об'єктів або масивів, оголошених через const
, зміна їхніх властивостей дозволена:
const person = { name: 'Іван', age: 25 };
person.age = 26; // Можна змінити властивість
console.log(person.age); // 26
Таким чином, const
гарантує лише те, що змінна не може бути переприсвоєна на інше значення або об'єкт.
Порада: | Навіть якщо можна змінювати властивості об'єкта або елементи масиву, уникайте цього без необхідності. Це може зробити ваш код менш передбачуваним. |
Порада: | При використанні |
Порада: | Використовуйте |
Синтаксис
const foo = значення;
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
21 |
36 |
5.1 |
9 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
25 |
36 |
5 |
Переглядач | ||
---|---|---|
6.0.0 |
1.0 |
Приклади
Користувач натискає кнопку "Перемкнути тему", і сторінка змінює свою тему на світлу або темну залежно від поточного стану. Значення кольорів для тем не змінюються завдяки використанню const
, що гарантує сталість даних і захист від випадкових змін.
У цьому прикладі ми бачимо, що використання const
у замиканні може створити помилку, якщо очікується зміна. Потрібно замінити на let
для динамічного значення.
function createCounter() {
const initialValue = 0;
return function() {
return ++initialValue; // Помилка: не можна змінювати const
};
}
Цей підхід забезпечує доступ до функціональних можливостей об’єкта без ризику його повного перезапису.
const logger = {
log: (message) => console.log(message),
error: (message) => console.error(message)
};
// Неможливо переназначити logger, але його методи доступні:
logger.log("Привіт, світ!"); // Привіт, світ!
logger.error("Це помилка!"); // Це помилка!