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