Dalam JavaScript, terdapat tiga cara untuk menentukan jenis data: operator jenis mengembalikan rentetan yang mewakili jenis data pembolehubah. Pengendali instanceof menyemak sama ada objek kepunyaan pembina tertentu. Kaedah Object.prototype.toString.call mengembalikan rentetan yang mewakili jenis pembolehubah, yang lebih tepat daripada typeof.
Cara menentukan jenis data dalam JavaScript
Dalam JavaScript, menentukan jenis data adalah tugas biasa. Berikut memperkenalkan beberapa kaedah biasa:
typeof operator
typeof
operator mengembalikan rentetan yang mewakili jenis data pembolehubah. Ia adalah kaedah yang paling mudah, tetapi ia tidak dapat membezakan antara beberapa jenis data yang serupa. typeof
运算符返回一个字符串,表示变量的数据类型。它是最简单的方法,但它不能区分某些类似的数据类型。
语法:
<code>typeof variable;</code>
例如:
<code>console.log(typeof "Hello"); // "string" console.log(typeof 123); // "number" console.log(typeof true); // "boolean" console.log(typeof null); // "object" (错误地识别为对象)</code>
instanceof 运算符
instanceof
运算符检查一个对象是否属于一个特定的构造函数。它对于区分数组、函数和日期对象等复杂数据类型非常有用。
语法:
<code>variable instanceof constructor;</code>
例如:
<code>console.log([] instanceof Array); // true console.log(function() {} instanceof Function); // true console.log(new Date() instanceof Date); // true</code>
Object.prototype.toString.call 方法
Object.prototype.toString.call
方法返回一个表示变量类型的字符串。它比typeof
运算符更准确,可以区分数组、函数和日期对象。
语法:
<code>Object.prototype.toString.call(variable);</code>
例如:
<code>console.log(Object.prototype.toString.call([])); // "[object Array]" console.log(Object.prototype.toString.call(function() {})); // "[object Function]" console.log(Object.prototype.toString.call(new Date())); // "[object Date]"</code>
注意事项
typeof
运算符会错误地将null
识别为对象。instanceof
运算符不能区分原生构造函数和自定义构造函数。Object.prototype.toString.call
instanceof
menyemak sama ada objek kepunyaan pembina tertentu. Ia berguna untuk membezakan jenis data yang kompleks seperti tatasusunan, fungsi dan objek tarikh. 🎜🎜Syntax: 🎜rrreee🎜Contohnya: 🎜rrreee🎜🎜Object.prototype.toString.call🎜 Kaedah 🎜🎜Object.prototype.toString.call
Kaedah mengembalikan jenis rentetan yang mewakili pembolehubah Ia lebih tepat daripada operator typeof
dan boleh membezakan antara tatasusunan, fungsi dan objek tarikh. 🎜🎜Sintaks: 🎜rrreee🎜Contoh: 🎜rrreee🎜🎜Nota🎜🎜typeof
akan salah mengenal pasti null
sebagai objek. 🎜instanceof
tidak boleh membezakan antara pembina asli dan pembina tersuai. Kaedah 🎜Object.prototype.toString.call
boleh memberikan maklumat jenis data yang lebih tepat, tetapi sintaksnya agak rumit. 🎜🎜Atas ialah kandungan terperinci Apakah kaedah untuk menentukan jenis data dalam js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!