JavaScript: Jak stworzyć stały obiekt?
Opublikowano: 19.02.2022 - tagi: JavaScript Obiekt
Stworzenie stałej w JavaScript jest bardzo proste:
const value = 7;
Skoro jest to stała, nie można zmienić jej wartości:
const value = 7;
value = 'test';
// Uncaught TypeError: invalid assignment to const 'value' w FireFox
A co z obiektami?
Stałe obiekty
const obj = {
name: 'Product X',
value: 1200
}
W takim przypadku możemy zmienić właściwości obiektu, ale nie możemy ustawić nowej wartości obj:
const obj = {
name: 'Product X',
value: 1200
};
obj.name = 'Product Y'; // Ok
obj.value = 700; // Ok
obj = { age: 20 }; // Błąd!
Jak można stworzyć stały obiekt, którego nie da się zmienić?
Object.freeze
W klasie Object istnieje metoda freeze, która sprawia, że obiekt stanie się stały:
const obj = {
name: 'Product X',
value: 1200
};
Object.freeze(obj);
obj.name = 'Product Y';
delete obj.value;
obj.age = 20;
console.log(obj); // { name: 'Product X', value: 20 }
Do obiektu nie można nic dodać, usunąć lub zmienić wartości jednego z istniejących właściwości.