Junior
Ի՞նչ է անում freeze մեթոդը JavaScript-ում։
sobes.tech AI
Պատասխան AI-ից
Object.freeze() մեթոդը սառեցնում է օբյեկտը, կանխելով նոր հատկությունների ավելացումը, առկա հատկությունների հեռացումը և արժեքների փոփոխությունը։ Այն նաև կանխում է օբյեկտի պրոտոտիպի փոփոխությունը։ Սառեցված օբյեկտը մնում է անփոփոխ։
Object.freeze() կիրառումը՝
- Հաստատուն օբյեկտների ստեղծում: Համոզված լինել, որ օբյեկտը չի փոխվի հետագա կոդում:
- Արդյունավետության բարելավում: Որոշ JavaScript շարժիչներ հեշտությամբ օպտիմալացնում են անփոփոխ օբյեկտների մուտքը:
- Անվտանգություն: Ապահովում է օբյեկտի ներքին տվյալները պատահական կամ չարամիտ փոփոխություններից:
Մեծ կարևորություն: Object.freeze() միայն մակերեսային (թափանցիկ) սառեցում է իրականացնում։ Եթե օբյեկտի հատկությունները հղում են այլ օբյեկտների, այդ ներքին օբյեկտները կարող են փոխվել, եթե դրանք առանձին չեն սառեցվել:
Օրինակ՝
const obj = {
prop1: 42,
prop2: {
nestedProp: 'hello'
}
};
Object.freeze(obj);
// Փորձերը փոփոխելու համար `կոշտ ռեժիմում` անտեսվում են
// Կոշտ ռեժիմում, դրանք կարող են չառաջացնել սխալ, բայց փոփոխությունները չեն կատարվի
obj.prop1 = 100; // Չի փոխվի
delete obj.prop1; // Չի հեռացվի
obj.newProp = 'world'; // Չի ավելացվի
console.log(obj.prop1); // 42
console.log(obj.newProp); // undefined
// Ներքին օբյեկտը ՉԻ սառեցված
obj.prop2.nestedProp = 'goodbye'; // Փոխվում է
console.log(obj.prop2.nestedProp); // goodbye