Rumah > masalah biasa > teks badan

Mengapakah ralat akan dilaporkan tanpa menambah instanceof?

小老鼠
Lepaskan: 2023-11-13 15:05:00
asal
518 orang telah melayarinya

Alasannya ialah: Operator instanceof digunakan untuk menyemak sama ada objek ialah tika kelas tertentu (atau kelas terbitannya). Jika objek bukan contoh kelas, maka penentuan jenis tidak boleh dibuat dan ralat dilemparkan. Untuk mengelakkan ralat ini, apabila menggunakan pengendali instanceof, anda perlu memastikan bahawa objek adalah contoh kelas. Jika anda tidak pasti tentang jenis objek, anda boleh menggunakan kaedah lain untuk menentukan jenisnya.

Mengapakah ralat akan dilaporkan tanpa menambah instanceof?

Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

Dalam JavaScript, jika anda cuba menggunakan operator instanceof pada objek yang bukan contoh kelas, TypeError akan dilemparkan.

Ini kerana pengendali instanceof digunakan untuk menyemak sama ada objek ialah tika kelas tertentu (atau kelas terbitannya). Jika objek bukan contoh kelas, maka penentuan jenis tidak boleh dibuat dan ralat dilemparkan.

Berikut ialah contoh:

const obj = { name: "John" };console.log(obj instanceof Object); // trueconsole.log(obj instanceof Array); // false,抛出 TypeError 错误
Salin selepas log masuk

Dalam contoh di atas, obj ialah objek biasa, ia bukan contoh kelas Array. Oleh itu, menggunakan obj instanceof Array akan membuang ralat TypeError.

Untuk mengelakkan ralat ini, apabila kita menggunakan operator instanceof, kita perlu memastikan bahawa objek itu adalah instance kelas. Jika anda tidak pasti tentang jenis objek, anda boleh menggunakan kaedah lain untuk menentukan jenis, seperti menggunakan operator jenis atau kaedah semakan jenis lain.

Atas ialah kandungan terperinci Mengapakah ralat akan dilaporkan tanpa menambah instanceof?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
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!