JavaScript Object.freeze () yöntemi bir nesneyi dondurur.
Dondurulmuş bir nesne artık değiştirilemez. Bir nesneyi dondurmak şunları engeller:
- Nesneye eklenen yeni özellikler.
- Nesneden kaldırılacak mevcut özellikler.
- Mevcut özelliklerin numaralandırılabilirliğini, yapılandırılabilirliğini veya yazılabilirliğini değiştirme.
- Mevcut nesne özelliklerinin ve prototipin değerlerini değiştirme.
freeze()
Yöntemin sözdizimi şöyledir:
Object.freeze(obj)
freeze()
Yöntem, statik bir yöntemle olmak kullanılarak denir Object
sınıf adını.
freeze () Parametreler
freeze()
Yöntem alır:
- obj - Dondurulacak nesne.
Freeze'den dönüş değeri ()
- İşleve iletilen nesne.
Notlar :
- Dondurulmuş nesnelerin özellikler kümesine ekleme veya bunlardan kaldırma girişimleri ya sessizce başarısız olur ya da fırlatır
TypeError
(çoğunlukla katı moddayken). - Mühürlenen nesnelerin
Object.seal()
mevcut özellikleri değiştirilebilirken, mevcut özellikleri değiştirilemezObject.freeze()
hale getirilebilir.
Örnek: freeze () kullanma
let obj = ( prop: function () (), foo: "bar", ); let o = Object.freeze(obj); console.log(o == obj); // True -> Returns the same object console.log(Object.isFrozen(obj)); // true // changes will fail silently obj.foo = "bar1"; console.log(obj.foo); // bar // does not add silently obj.new_foo = "bar"; console.log(obj.new_foo); // undefined // Following will also throw error // Object.setPrototypeOf(obj, ( x: 20 ))
Çıktı
true true bar undefined
Not : Object.freeze(obj)
yalnızca öğesinin yakın özellikleri için geçerlidir obj
. Bu özelliklerin değeri nesnelerin kendisiyse, bu nesneler donmaz ve özellik ekleme, kaldırma veya değer yeniden atama işlemlerinin hedefi olabilir.
Önerilen Kaynaklar: JavaScript Object seal ()