Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mencegah Ralat 'Tidak Dapat Membaca Sifat Tidak Ditakrifkan' dalam Objek Bersarang JavaScript?

Bagaimanakah Saya Boleh Mencegah Ralat 'Tidak Dapat Membaca Sifat Tidak Ditakrifkan' dalam Objek Bersarang JavaScript?

Linda Hamilton
Lepaskan: 2024-12-22 16:58:15
asal
927 orang telah melayarinya

How Can I Prevent

Mencegah Ralat "Tidak Dapat Membaca Harta Yang Tidak Ditakrifkan" dengan Objek Bersarang

Dalam JavaScript, apabila berurusan dengan objek bersarang, perkara biasa ditemui " tidak boleh membaca sifat ralat yang tidak ditentukan. Ini berlaku apabila cuba mengakses sifat objek yang tidak wujud. Untuk mengelakkan ralat ini, terdapat beberapa pendekatan yang perlu dipertimbangkan.

Satu pilihan ialah menggunakan operator rantaian pilihan (diperkenalkan dalam ECMAScript 2020). Operator ini membenarkan anda mengakses sifat bersarang tanpa membuang ralat. Contohnya:

obj?.a?.lot?.of?.properties;
Salin selepas log masuk

Sebagai alternatif, untuk versi JavaScript atau TypeScript yang lebih awal, anda boleh menggunakan fungsi try/catch helper dengan fungsi anak panah ES6:

function getSafe(fn, defaultVal) {
  try {
    return fn();
  } catch (e) {
    return defaultVal;
  }
}

console.log(getSafe(() => obj.a.lot.of.properties));
Salin selepas log masuk

Fungsi ini menyemak sama ada sifat yang diminta wujud sebelum cuba mengaksesnya, mengelakkan ralat. Selain itu, anda boleh memberikan nilai lalai untuk dikembalikan sekiranya harta itu tidak ditentukan.

Dengan menggunakan kaedah ini, anda boleh mengendalikan objek bersarang dengan lancar tanpa menghadapi ralat "tidak dapat membaca sifat yang tidak ditentukan", memastikan kod anda kekal boleh dipercayai dan bebas pepijat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Ralat 'Tidak Dapat Membaca Sifat Tidak Ditakrifkan' dalam Objek Bersarang JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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