Mendapatkan kembali Harta Warisan Tidak Terhitung
Menentukan kewujudan harta warisan yang tidak terhitung adalah penting dalam JavaScript. Walaupun kaedah seperti Object.keys() dan Object.getOwnPropertyNames() menyediakan akses kepada sifat objek, ia mengecualikan atribut yang tidak boleh dikira yang diwarisi.
Untuk merapatkan jurang ini, kita boleh memanfaatkan kaedah Object.getOwnPropertyNames() dalam berganding dengan prototaip rantai traversal. Pendekatan ini membolehkan kami mengenal pasti sifat yang tidak boleh dikira pada mana-mana peringkat hierarki warisan.
Berikut ialah fungsi yang menunjukkan teknik ini:
function getAllProperties(obj) { var allProps = [] , curr = obj; do { var props = Object.getOwnPropertyNames(curr); props.forEach(function(prop) { if (allProps.indexOf(prop) === -1) allProps.push(prop); }); } while (curr = Object.getPrototypeOf(curr)); return allProps; } console.log(getAllProperties([1,2,3]));
Dengan menggabungkan Object.getOwnPropertyNames() dengan prototaip melalui rantaian, kita kini boleh mendapatkan senarai lengkap kedua-dua sifat terbilang dan tidak terhitung bagi objek, termasuk yang diwarisi daripada prototaip induknya. Pendekatan ini memberikan pandangan menyeluruh bagi semua hartanah, tanpa mengira keterlihatan atau status pemilikan.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Hartanah Warisan Tidak Terhitung dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!