Terdapat empat cara kekunci dan nilai boleh diberikan kepada objek.
Notasi titik ialah kaedah yang mudah dan biasa digunakan untuk mengakses sifat objek dalam JavaScript. Anda boleh mencipta dan menetapkan sifat pada objek menggunakan notasi titik. Pendekatan ini membolehkan anda mentakrifkan sifat secara dinamik selepas objek dibuat.
let objectName = {}; // "object literal" syntax objectName.someKey = someValue; // set property and value const value = objectName.someKey; // retrive value
Mudah dibaca dan difahami.
Contoh: nama orang lebih mudah untuk ditafsirkan daripada orang['nama'].
Sintaks ringkas yang pantas ditulis.
Sesuai untuk mengakses sifat dengan pengecam yang sah (huruf, digit, garis bawah dan $).
Gagal apabila nama sifat mempunyai aksara khas, ruang atau dinamik.
Contoh: orang.nama pertama akan membuang ralat; gunakan orang["nama pertama"] sebaliknya.
Contoh: Jika nama sifat disimpan dalam pembolehubah, anda tidak boleh menggunakannya dengan tatatanda titik.
Notasi kurungan segi empat sama membolehkan mengakses atau memanipulasi sifat objek secara dinamik menggunakan rentetan atau pembolehubah. Tanda kurung segi empat sama lebih fleksibel daripada tatatanda titik kerana ia boleh menggunakan mana-mana nama sifat atau pembolehubah. Walau bagaimanapun, mereka agak sukar untuk menulis.
Membenarkan nama sifat menjadi pembolehubah atau ungkapan.
Contoh: obj[propName] adalah fleksibel apabila propName ialah pembolehubah.
Berfungsi dengan nama sifat yang mengandungi aksara khas, ruang atau kata kunci terpelihara.
Contoh: obj["nama pertama"] atau obj["kelas"].
Berguna apabila menggelung melalui sifat dalam objek.
Lebih sukar dibaca berbanding notasi titik, terutamanya untuk sifat bersarang.
Kesilapan dalam nama hartanah mungkin tidak dapat ditangkap semasa pembangunan (mis., obj["naem"]).
Memerlukan lebih banyak menaip dan penggunaan petikan untuk kekunci rentetan.
Kaedah Object.defineProperty() mentakrifkan sifat baharu kepada objek atau mengemas kini yang sedia ada, dan kemudian mengembalikan objek itu.
let objectName = {}; // "object literal" syntax objectName.someKey = someValue; // set property and value const value = objectName.someKey; // retrive value
Kaedah Object.defineProperties() mentakrifkan baharu atau mengubah suai sifat sedia ada secara langsung pada objek, mengembalikan objek.
const user = {}; Object.defineProperty(user, 'firstName', { value: 'John', writable: true, // `false` is default }); console.log('First name', user.firstName);
Atas ialah kandungan terperinci Kaedah untuk menetapkan dan mendapatkan semula nilai dalam objek JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!