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

Mary-Kate Olsen
Lepaskan: 2024-10-29 11:09:29
asal
355 orang telah melayarinya

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

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

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

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!