ECMAScript 5 memperkenalkan metode Objek baru ke Javascript. Diantaranya Obyek. freeze(), Objek. segel(), Objek. metode preventExtensions() akan dibahas dalam perbandingan satu sama lain Show Sebelum memahami arti dari masing-masing metode, penting untuk mengetahui struktur objek dasar Struktur ObjekObjek adalah tipe data Javascript yang dapat mewakili entitas yang berisi properti atau perilaku/metode tertentu. Properti ini dapat diubah atau dihapus atau properti baru dapat ditambahkan ke objek Ada dua jenis properti dalam sebuah objek Properti data — Properti objek normal yang ditentukan pada objek Properti aksesor — Fungsi yang memungkinkan mendapatkan dan menetapkan nilai properti objek. Cukup metode pengambil dan penyetel. Properti ini dapat dikenali sebagai get dan set di depan nama properti Contoh let person = { Objek apa pun yang kami buat mewarisi properti dari konstruktor Objek JavaScript. Obyek. prototipe adalah salah satu properti yang diwarisi oleh objek semacam itu. Dengan menggunakan properti prototype kita dapat menambahkan properti atau metode baru ke semua objek yang ada. Dapat memodifikasi apa yang murni dimiliki oleh objek tanpa mewarisi dari Objek tersebut. prototipe Contoh let person = { _Properti (properti data) memiliki nama dan nilai yang ditetapkan sebagai pasangan nilai kunci. Selain itu, setiap properti memiliki beberapa meta data yang dapat mengontrol status/nilainya enumerable — Nilai Boolean benar/salah. Jika disetel ke properti true dapat disebutkan/didaftarkan dalam loop. Jika tidak, tidak dapat dikonfigurasi — nilai Boolean benar/salah. Jika disetel ke properti true dapat dikonfigurasi ulang. Jika tidak, tidak writable — Nilai Boolean benar/salah. Jika disetel ke properti true dapat diubah. Jika tidak, tidak Secara default semua properti dapat dibaca. Bergantung pada metadata di atas, propertinya dapat dimutasi Sebaliknya, properti Accessor tidak memiliki nilai. Mereka telah mendapatkan, mengatur fungsi yang mengontrol aksesibilitas properti get — Fungsi yang tidak memiliki argumen dan dipanggil saat membaca properti set — Fungsi yang memiliki argumen tunggal dan dipanggil pada set properti enumerable — Nilai Boolean benar/salah. Jika disetel ke properti true dapat disebutkan/didaftarkan dalam loop. Jika tidak, tidak dapat dikonfigurasi — nilai Boolean benar/salah. Jika disetel ke properti true dapat dikonfigurasi ulang. Jika tidak, tidak Tidak ada yang dapat ditulisi untuk properti accessor Obyek. membekukan()Obyek. freeze() cukup mengubah objek yang diteruskan sebagai argumen menjadi keadaan beku. Objek yang dipanggil dengan metode ini tidak dapat memiliki perubahan lebih lanjut Contoh Object.freeze(person) Tidak dapat menambahkan properti baru Tidak dapat menghapus properti yang ada Tidak dapat mengubah nilai properti yang ada Tidak dapat mengonfigurasi ulang properti yang ada. dapat ditulis dan dikonfigurasi disetel ke false Tidak dapat mengubah prototipenya Mencoba melakukan perubahan apa pun yang disebutkan di atas setelah objek dibekukan akan gagal dan akan menimbulkan kesalahan dalam mode ketat Obyek. isFrozen() adalah metode Objek untuk memeriksa apakah suatu objek dibekukan dengan meneruskan objek sebagai argumen Contoh Object.isFrozen(person) Objek. segel()Obyek. seal() cukup mengubah objek yang diteruskan sebagai argumen menjadi keadaan tersegel. Objek yang dipanggil dengan metode ini tidak dapat memiliki properti baru yang ditambahkan. Tapi itu bisa mengubah nilai properti yang ada selama metadata yang dapat ditulis itu benar Contoh Object.seal(person) _Tidak dapat menambahkan properti baru Tidak dapat menghapus properti yang ada Tidak dapat mengonfigurasi ulang properti yang ada Tidak dapat mengonversi properti data menjadi properti pengakses atau sebaliknya Secara default, objek dapat diperluas dalam arti bahwa properti baru dapat ditambahkan. Mencoba melakukan perubahan apa pun yang disebutkan di atas setelah objek disegel akan gagal dan akan menimbulkan kesalahan dalam mode ketat Obyek. isSealed() adalah metode Objek untuk memeriksa apakah suatu objek disegel dengan meneruskan objek sebagai argumen Contoh Object.isSealed(person) Objek. preventExtensions()Obyek. preventExtensions() cukup mengonversi objek yang diteruskan sebagai argumen menjadi status yang tidak dapat diperluas. Objek yang dipanggil dengan metode ini tidak dapat memiliki properti baru yang ditambahkan. Metode ini mewarisi fungsionalitas dari objek supersetnya. segel. Oleh karena itu, ini dapat mengubah nilai properti yang ada selama metadata yang dapat ditulis benar. Berbeda dengan objek yang disegel, objek yang tidak dapat diperluas dapat dihapus atau dikonfigurasi ulang Contoh Object.preventExtensions(person) _Mencoba menambahkan properti baru setelah objek tidak dapat diperluas akan gagal dan akan menimbulkan kesalahan dalam mode ketat Obyek. isExtensible() adalah metode Objek untuk memeriksa apakah suatu objek dapat diperluas dengan meneruskan objek sebagai argumen Contoh Object.isExtensible(person) Catatan. Objek yang berdiri sebagai properti di dalam objek atau objek dalam/anak dari suatu objek dapat dimodifikasi kecuali ada yang disegel/dibekukan secara terpisah. Dengan kata lain bahwa pembekuan/segel objek mengontrol setiap perubahan pada properti objek secara dangkal, artinya referensi properti langsung tidak dapat diubah. Tapi properti bersarang di dalam objek properti objek langsung dapat diubah Apa itu segel dalam JavaScript?Menyegel objek mencegah ekstensi dan membuat properti yang ada tidak dapat dikonfigurasi . Objek yang disegel memiliki seperangkat properti tetap. properti baru tidak dapat ditambahkan, properti yang ada tidak dapat dihapus, enumerabilitas dan konfigurasinya tidak dapat diubah, dan prototipenya tidak dapat ditetapkan ulang.
Apa yang dibekukan dalam JavaScript?Objek yang dibekukan tidak dapat diubah lagi . properti baru tidak dapat ditambahkan, properti yang ada tidak dapat dihapus, enumerabilitas, konfigurasi, kemampuan menulis, atau nilainya tidak dapat diubah, dan prototipe objek tidak dapat ditetapkan ulang. freeze() mengembalikan objek yang sama yang diteruskan.
Apa perbedaan antara pembekuan objek () vs const?Obyek. freeze bekerja pada nilai, dan lebih khusus lagi, nilai objek. Itu membuat objek tidak berubah, mis. e. Anda tidak dapat mengubah propertinya. Pada dasarnya, const adalah var baru; |