Metode JavaScript Object.freeze () membekukan objek.
Objek yang dibekukan tidak dapat lagi diubah. Membekukan suatu objek mencegah:
- Properti baru sedang ditambahkan ke objek.
- Properti yang ada akan dihapus dari objek.
- Mengubah enumerabilitas, konfigurasi, atau kemampuan menulis properti yang ada.
- Mengubah nilai properti objek dan prototipe yang ada.
Sintaks dari freeze()
metode ini adalah:
Object.freeze(obj)
The freeze()
metode, menjadi metode statis, disebut menggunakan Object
nama kelas.
freeze () Parameter
The freeze()
Metode mengambil di:
- obj - Objek yang akan dibekukan.
Kembalikan nilai dari freeze ()
- Objek yang diteruskan ke fungsi tersebut.
Catatan :
- Setiap upaya untuk menambah atau menghapus dari kumpulan properti objek yang dibekukan akan gagal secara diam-diam atau terlempar
TypeError
(kebanyakan saat dalam mode ketat). - Objek yang disegel
Object.seal()
dapat memiliki properti yang ada berubah sementaraObject.freeze()
membuat properti yang ada tidak dapat diubah.
Contoh: Menggunakan freeze ()
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 ))
Keluaran
true true bar undefined
Catatan : Object.freeze(obj)
hanya berlaku untuk properti langsung dari obj
. Jika nilai properti tersebut adalah objek itu sendiri, objek tersebut tidak dibekukan dan mungkin menjadi target operasi penambahan, penghapusan, atau penugasan nilai properti.
Bacaan yang Direkomendasikan: JavaScript Object seal ()