Sobes.tech
Junior

JavaScript-də freeze metodu nə edir?

sobes.tech Süni İntellekt

AI-dan cavab

Object.freeze() metodu, obyekti dondurur, qarşısını alır yeni xüsusiyyətlərin əlavə olunmasına, mövcudların silinməsinə və mövcud xüsusiyyətlərin dəyərlərinin dəyişdirilməsinə. Həmçinin, obyektiin prototipinin dəyişdirilməsini də əngəlləyir. Dondurulmuş obyekt dəyişməz qalır.

Object.freeze() tətbiqi:

  1. Müəyyən obyektlərin yaradılması: Obyekti sonrakı kodda dəyişilməz olacağına zəmanət verir.
  2. Performansın artırılması: Bəzi JavaScript mühərrikləri, dəyişməz obyektlərə girişin optimallaşdırılmasını daha asan tapır.
  3. Təhlükəsizlik: Obeyektin daxili məlumatlarını təsadüfi və ya zərərli dəyişikliklərdən qoruyur.

Vacib qeyd: Object.freeze() yalnız səthən (yüzeycə) dondurur (sığ dondurma). Əgər obyektin xüsusiyyətləri digər obyektlərə istinad edirsə, bu iç-içə obyektlər dəyişdirilə bilər, əgər onlar ayrıca dondurulmayıbsa.

Nümunə:

const obj = {
  prop1: 42,
  prop2: {
    nestedProp: 'hello'
  }
};

Object.freeze(obj);

// Dəyişiklik cəhdləri "sərt rejim"də nəzərə alınmayacaq
// Sərt rejimdə olmayan halda, onlar xətaya səbəb olmaya bilər, amma dəyişikliklər baş verməyəcək
obj.prop1 = 100; // Dəyişməyəcək
delete obj.prop1; // Silinməyəcək
obj.newProp = 'world'; // Əlavə olunmayacaq

console.log(obj.prop1); // 42
console.log(obj.newProp); // undefined

// İç-içə obyekt DONDURULMAYIB
obj.prop2.nestedProp = 'goodbye'; // Dəyişəcək
console.log(obj.prop2.nestedProp); // goodbye