Rumah >hujung hadapan web >tutorial js >Bagaimanakah anda menyemak sama ada Harta Wujud dalam Objek Javascript dengan Nama Harta Dinamik?

Bagaimanakah anda menyemak sama ada Harta Wujud dalam Objek Javascript dengan Nama Harta Dinamik?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-29 11:09:29424semak imbas

How do you Check if a Property Exists in a Javascript Object with a Dynamic Property Name?

Menentukan Kewujudan Harta Objek Menggunakan Nama Harta Dinamik

Apabila berurusan dengan objek dalam JavaScript, selalunya perlu menyemak sama ada sifat tertentu wujud. Walau bagaimanapun, jika nama sifat disimpan dalam pembolehubah, kaedah konvensional mungkin tidak berfungsi dengan berkesan.

Dalam coretan kod yang diberikan, pembangun cuba menyemak sama ada objek myObj mempunyai sifat bernama 'prop', tetapi pembolehubah myProp ditakrifkan secara salah dengan gabungan rentetan. Akibatnya, kod tersebut mencari 'myProp' harta yang tidak wujud.

Untuk menangani isu ini, beberapa pendekatan alternatif boleh digunakan:

1. Menggunakan hasOwnProperty()

Kaedah hasOwnProperty() mengesahkan jika sifat yang ditentukan ditakrifkan secara langsung dalam objek (tidak diwarisi daripada prototaipnya).

<code class="js">var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    alert("yes, i have that property");
}</code>

2. Menggunakan Operator dalam

Pengendali dalam menyemak sama ada sifat tertentu wujud dalam objek, tidak kira sama ada ia ditakrifkan secara langsung atau diwarisi.

<code class="js">var myProp = 'prop';
if(myProp in myObj){
    alert("yes, i have that property");
}</code>

3. Semakan Nama Harta Langsung

Jika nama hartanah diketahui dengan pasti, ia boleh disemak terus tanpa memerlukan pembolehubah.

<code class="js">if('prop' in myObj){
    alert("yes, i have that property");
}</code>

Nota: The hasOwnProperty () kaedah mengabaikan sifat yang diwarisi, manakala pengendali dalam termasuk mereka. Oleh itu, pilihan pendekatan bergantung pada sama ada harta warisan adalah berkaitan dengan semakan yang dilakukan.

Atas ialah kandungan terperinci Bagaimanakah anda menyemak sama ada Harta Wujud dalam Objek Javascript dengan Nama Harta Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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