Rumah >hujung hadapan web >tutorial js >contoh penggunaan propertydescriptor
Deskriptor Harta ialah konsep penting dalam JavaScript, yang digunakan untuk menerangkan sifat objek. Dengan menggunakan Deskriptor Harta, kita boleh mendapatkan, mengubah suai dan mencipta sifat objek. Berikut ialah beberapa contoh penggunaan Deskriptor Harta:
Andaikan kita mempunyai orang objek, yang mempunyai nama harta, kita boleh menggunakan kaedah Object.getOwnPropertyDescriptor() untuk mendapatkan Hartanah bagi sifat ini Deskriptor:
let person = { name: 'Alice' }; let desc = Object.getOwnPropertyDescriptor(person, 'name'); console.log(desc); // 输出: // { // value: 'Alice', // writable: true, // enumerable: true, // configurable: true, // get: undefined, // set: undefined // }
Dalam kod di atas, Object.getOwnPropertyDescriptor(orang, 'nama') mengembalikan objek yang mengandungi deskriptor sifat yang menerangkan sifat nama objek orang itu.
Kita boleh mencipta sifat baharu menggunakan Deskriptor Harta. Sebagai contoh, katakan kita ingin mencipta umur harta baharu pada objek orang itu:
let person = {}; Object.defineProperty(person, 'age', { value: 25, writable: true, enumerable: true, configurable: true, get: function() { return this._age; }, set: function(newVal) { this._age = newVal; } }); console.log(person.age); // 输出:25
Dalam kod di atas, Object.defineProperty(orang, 'umur', { ... }) mentakrifkan harta baharu yang dipanggil umur, Dan gunakan Deskriptor Harta untuk menerangkannya. Kini, kami mempunyai akses kepada person.age dan boleh mengubah suai nilai harta umur dengan menetapkan person.age.
Kita juga boleh menggunakan Deskriptor Harta untuk mengubah suai deskriptor harta harta sedia ada. Sebagai contoh, katakan kami ingin mengubah suai deskriptor sifat bagi sifat nama objek orang:
let person = { name: 'Alice' }; Object.defineProperty(person, 'name', { value: 'Bob', writable: true, enumerable: true, configurable: true, get: function() { return this._name; }, set: function(newVal) { this._name = newVal; } }); console.log(person.name); // 输出:'Bob'
Dalam kod di atas, kami menggunakan kaedah Object.defineProperty() untuk mengubah suai deskriptor sifat bagi sifat nama objek orang . Kini, kami mempunyai akses kepada person.name dan boleh mengubah suai nilai harta nama dengan menetapkan person.name. Ambil perhatian bahawa dalam contoh ini kami mengubah suai atribut nilai harta, yang turut mengubah nilai sebenar harta itu.
Atas ialah kandungan terperinci contoh penggunaan propertydescriptor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!