Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mendapatkan Hartanah Warisan Tidak Terhitung dalam JavaScript?

Bagaimana untuk Mendapatkan Hartanah Warisan Tidak Terhitung dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-11-10 20:20:03
asal
779 orang telah melayarinya

How to Retrieve Non-Enumerable Inherited Properties in JavaScript?

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]));
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan