Junior
Ko dara metode freeze JavaScript?
sobes.tech AI
Atbilde no AI
Object.freeze() metode aizsalst objektu, novēršot jaunu īpašību pievienošanu, esošo dzēšanu un esošo īpašību vērtību maiņu. Tas arī novērš objekta prototipa maiņu. Aizsaltais objekts paliek nemainīgs.
Object.freeze() piemērošana:
- Nepārtrauktu objektu izveide: Garantē, ka objekts netiks mainīts turpmākajā kodā.
- Veiktspējas uzlabošana: Daži JavaScript dzinēji vieglāk optimizē piekļuvi nemainīgiem objektiem.
- Drošība: Aizsargā objekta iekšējos datus no nejaušām vai ļaunprātīgām izmaiņām.
Svarīga piezīme: Object.freeze() aizsalst tikai virsmas (plakana saldēšana). Ja objekta īpašības norāda uz citām objektiem, šie iekšējie objekti var tikt mainīti, ja tie nav atsevišķi aizsalti.
Piemērs:
const obj = {
prop1: 42,
prop2: {
nestedProp: 'hello'
}
};
Object.freeze(obj);
// Mēģinājumi mainīt tiks ignorēti "stingrā režīmā"
// Stingrā režīmā tie var nesagādāt kļūdu, bet izmaiņas nenotiks
obj.prop1 = 100; // Nemainīsies
delete obj.prop1; // Neizdzēsīs
obj.newProp = 'world'; // Nepievienosies
console.log(obj.prop1); // 42
console.log(obj.newProp); // undefined
// Iekšējais objekts NAV aizsalts
obj.prop2.nestedProp = 'goodbye'; // Tiks mainīts
console.log(obj.prop2.nestedProp); // goodbye