const
застосовується до прив’язки. Воно створює іммутабельну прив’язку, тобто до змінної, оголошеної за допомогою ключового слова const
, не можна прив’язати щось нове. Константі не можна надати нове значення.
const person = {
name: "Leonardo"
};
let animal = {
species: "snake"
};
person = animal; // Uncaught TypeError: Assignment to constant variable.
Метод Object.freeze()
працює з об’єктними значеннями. Він робить об’єкт іммутабельним, що захищає від змін значення властивостей цього об’єкта.
let person = {
name: "Leonardo"
};
Object.freeze(person);
person.name = "Lima"; // Uncaught TypeError: Cannot assign to read only property 'name' of object
console.log(person);
Повідомлення про помилку відображається в суворому режимі. У звичайному режимі операція зміни якості “замороженого” об’єкта просто не спрацьовує.
#theory // Архів книг // JS