Kaedah JavaScript Object.freeze () membekukan objek.
Objek beku tidak lagi boleh diubah. Pembekuan objek menghalang:
- Sifat baru daripada ditambahkan ke objek.
- Sifat-sifat yang ada untuk dikeluarkan dari objek.
- Mengubah kebolehbacaan, konfigurasi, atau kemampuan menulis harta tanah yang ada.
- Mengubah nilai sifat objek dan prototaip yang ada.
Sintaks freeze()
kaedahnya adalah:
Object.freeze(obj)
Yang freeze()
kaedah, iaitu kaedah yang statik, dipanggil menggunakan Object
nama kelas.
membekukan () Parameter
The freeze()
Cara mengambil masa dalam:
- obj - Objek untuk membeku.
Nilai pulangan dari pembekuan ()
- Objek yang dihantar ke fungsi.
Catatan :
- Sebarang percubaan untuk menambah atau mengeluarkan dari sifat set objek beku akan gagal sama ada secara senyap-senyap atau melempar
TypeError
(kebanyakannya ketika berada dalam mod ketat). - Objek yang dimeteraikan
Object.seal()
boleh mengubah sifat yang ada sementaraObject.freeze()
menjadikan sifat yang ada tidak berubah.
Contoh: Menggunakan pembekuan ()
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 ))
Pengeluaran
bar benar benar tidak ditentukan
Catatan : Object.freeze(obj)
hanya digunakan untuk sifat langsung dari obj
. Sekiranya nilai sifat tersebut adalah objek itu sendiri, objek tersebut tidak dibekukan dan mungkin menjadi sasaran operasi penambahan, penghapusan atau penugasan semula nilai.
Bacaan yang Disyorkan: Segel Objek JavaScript ()