Memahami Pengenalan Jenis JavaScript
Tidak seperti kaedah class.getName() Java, JavaScript tidak menyediakan persamaan langsung. Untuk mendapatkan cerapan tentang jenis objek JavaScript, pertimbangkan pendekatan berikut:
1. Menggunakan Harta Pembina:
var arr = [1, 2, 3]; console.log(arr.constructor == Array); // true
Walau bagaimanapun, pendekatan ini mungkin tidak selalu berfungsi, terutamanya apabila objek dicipta melalui pewarisan kompleks atau senario silang bingkai. Adalah disyorkan untuk berhati-hati apabila bergantung pada pembina.
2. Menggunakan instanceof Operator:
var arr2 = new Array(1, 2, 3); console.log(arr2 instanceof Array); // true
instanceof adalah lebih tepat, tetapi ia gagal untuk nilai literal seperti nombor dan rentetan. Ia juga menghadapi isu merentas bingkai dan tingkap.
3. Menggunakan nama Harta Pembina Harta:
function MyClass() { } var inst = new MyClass(); console.log(inst.constructor.name); // "MyClass"
Kaedah ini secara amnya berfungsi dengan baik, tetapi ia memerlukan sifat nama pembina ditetapkan atau disokong untuk ditambal monyet untuk penyemak imbas lama seperti IE9.
4. Menggunakan Object.prototype.toString:
var str = 'Hello'; console.log(Object.prototype.toString.call(str)); // "[object String]"
toString boleh memberikan maklumat jenis untuk jenis terbina dalam, tetapi mengembalikan "Objek" untuk jenis tersuai.
Kaveat dan Pertimbangan:
Kesimpulan:
Menentukan jenis objek dalam JavaScript memerlukan pemahaman bernuansa tentang pelbagai kaedah yang tersedia. Walaupun terdapat persamaan dengan pendekatan Java, terdapat juga nuansa berbeza yang memerlukan analisis konteks dan penggunaan yang lebih komprehensif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengenalpasti Jenis Objek JavaScript dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!