Operator 1 menghapus properti dari objek. Jika nilai properti adalah objek dan tidak ada lagi referensi ke objek tersebut, objek yang dipegang oleh properti tersebut pada akhirnya akan dirilis secara otomatis Show _Catatan. Sintaks memungkinkan rentang ekspresi yang lebih luas mengikuti operator 1, tetapi hanya bentuk di atas yang mengarah ke perilaku yang bermakna _3Nama objek, atau ekspresi yang mengevaluasi objek _4Properti yang akan dihapus 5 untuk semua kasus kecuali jika properti adalah properti sendiri, dalam hal ini 6 dikembalikan dalam mode tidak ketat _7Dilemparkan dalam mode ketat jika properti adalah properti yang tidak dapat dikonfigurasi sendiri _8Dilempar jika 3 adalah 0Operator 1 memiliki prioritas yang sama dengan operator unary lainnya seperti 2. Oleh karena itu, ia menerima ekspresi apa pun yang dibentuk oleh operator dengan prioritas lebih tinggi. Namun, formulir berikut menyebabkan kesalahan sintaksis awal dalam mode ketat
Karena kelas secara otomatis dalam mode ketat, dan properti pribadi hanya dapat dirujuk secara legal di badan kelas, ini berarti properti pribadi tidak akan pernah bisa dihapus. Sementara _3 jika 4 mengacu pada properti yang dapat dikonfigurasi dari objek global, Anda harus menghindari formulir ini dan mengawalinya dengan 5 sebagai gantinyaSementara ekspresi lain diterima, mereka tidak mengarah pada perilaku yang bermakna
Operator 1 menghapus properti tertentu dari objek. Jika penghapusan berhasil, itu akan mengembalikan 5, jika tidak 6 akan dikembalikan. Tidak seperti yang disarankan oleh kepercayaan umum (mungkin karena bahasa pemrograman lain seperti hapus di C++), operator 1 tidak ada hubungannya dengan membebaskan memori secara langsung. Manajemen memori dilakukan secara tidak langsung melalui referensi pemutusan. Lihat halaman manajemen memori untuk detail lebih lanjutPenting untuk mempertimbangkan skenario berikut
Seperti spesifikasi ECMAScript modern, urutan traversal properti objek didefinisikan dengan baik dan stabil di seluruh implementasi. Namun, dalam kasus Internet Explorer, ketika seseorang menggunakan 1 pada properti, beberapa hasil perilaku membingungkan, mencegah browser lain menggunakan objek sederhana seperti literal objek sebagai array asosiatif yang dipesan. Di Explorer, sementara nilai properti memang disetel ke 3, jika nanti menambahkan kembali properti dengan nama yang sama, properti akan diulang di posisi lamanya — bukan di akhir urutan iterasi seperti yang diharapkan setelah dihapus Jika Anda ingin menggunakan array asosiatif terurut dengan dukungan runtime lama, gunakan objek 4 jika tersedia (melalui polyfill, misalnya), atau simulasikan struktur ini dengan dua array terpisah (satu untuk kunci dan yang lainnya untuk nilai) Catatan. Contoh berikut menggunakan fitur mode non-ketat saja, seperti membuat variabel global secara implisit dan menghapus pengidentifikasi, yang dilarang dalam mode ketat
Dalam contoh berikut, kami menghapus properti objek sendiri sementara properti dengan nama yang sama tersedia di rantai prototipe
Saat Anda menghapus elemen larik, larik 5 tidak terpengaruh. Ini berlaku bahkan jika Anda menghapus elemen terakhir dari arraySaat operator _1 menghapus elemen larik, elemen tersebut tidak lagi ada dalam larik. Dalam contoh berikut, 7 dihapus dengan 1
Ini menciptakan a dengan slot kosong. Jika Anda ingin elemen array ada tetapi memiliki nilai yang tidak ditentukan, gunakan nilai 3 alih-alih operator 1. Dalam contoh berikut, 7 diberi nilai 3, tetapi elemen array masih ada
Jika sebaliknya, Anda ingin menghapus elemen array dengan mengubah isi array, gunakan metode 3. Dalam contoh berikut, 7 dihapus sepenuhnya dari array menggunakan 3
Ketika properti ditandai sebagai tidak dapat dikonfigurasi, 1 tidak akan berpengaruh, dan akan mengembalikan 6. Dalam mode ketat, ini akan menaikkan 7
_9 membuat properti yang tidak dapat dikonfigurasi yang tidak dapat dihapus dengan operator 1
Dalam mode ketat, ini akan menimbulkan pengecualian Jika properti global dapat dikonfigurasi (misalnya, melalui penugasan properti langsung), itu dapat dihapus, dan referensi selanjutnya sebagai variabel global akan menghasilkan 8
Bagaimana cara menghapus nilai dari objek JSON di JavaScript?Untuk menghapus elemen JSON, gunakan kata kunci delete di JavaScript.
Bagaimana cara menghapus properti dari objek JSON di JavaScript?Menggunakan operator hapus
. biarkan orang = { nama depan. "John", nama belakang. "Doe", jenis kelamin. "Pria", usia. 34 }; . usia; .
Bagaimana cara menghapus kunci tertentu dari objek JSON di JavaScript?Bagaimana cara menghapus kunci khusus objek Json dan nilainya? . Jika Anda ingin menghapus kunci saat mengetahui nilainya, Anda dapat menggunakan Object. keys function yang mengembalikan array dari properti enumerable milik objek yang diberikan.
Bagaimana cara menghapus satu properti dari objek JSON?Menghapus properti dari objek JSON di JavaScript . Objek JSON (notasi objek JavaScript) selalu dikelilingi oleh kurung kurawal {}. . Menggunakan operator Hapus Operator Hapus adalah cara termudah untuk menghapus properti objek. . Dalam contoh berikut, kami telah membuat Objek JSON dengan kunci dan nilai |