การใช้ตัวดำเนินการ typeof สำหรับค่าอาจส่งคืนหนึ่งในสตริงต่อไปนี้:
"ไม่ได้กำหนด" - หากไม่ได้กำหนดค่านี้
"บูลีน" - ถ้าค่านี้เป็นบูลีน
"สตริง" - ถ้าค่านี้เป็นสตริง
"หมายเลข" - ถ้าค่านี้เป็นค่าตัวเลข
"วัตถุ" - ถ้านี่เป็นวัตถุหรือเป็นโมฆะ
"ฟังก์ชั่น" - ถ้าค่านี้เป็นฟังก์ชัน
ค่าส่งคืนของตัวดำเนินการประเภทที่ใช้กันทั่วไปรวมถึงหมายเลข, สตริง, บูลีน, ไม่ได้กำหนดวัตถุและฟังก์ชั่น ชอบ:
การคัดลอกรหัสมีดังนี้:
var n;
console.log (typeof n);
n = 1;
console.log (typeof n);
n = "1";
console.log (typeof n);
n = เท็จ;
console.log (typeof n);
n = {ชื่อ: "obj"};
console.log (typeof n);
n = หมายเลขใหม่ (5);
console.log (typeof n);
n = function () {return;};
console.log (typeof n);
ตัวอย่างเหล่านี้แสดงให้เห็นว่าตัวดำเนินการของตัวดำเนินการ typeof สามารถเป็นตัวแปร (ข้อความ) หรือตัวอักษรตัวเลข โปรดทราบว่า typeof เป็นตัวดำเนินการมากกว่าฟังก์ชั่นดังนั้นวงเล็บในตัวอย่างไม่จำเป็นต้องใช้ (แม้ว่าจะสามารถใช้งานได้)
จากตัวอย่างด้านบนเราพบว่าตัวเลขที่สร้างขึ้นด้วยหมายเลข () จะถูกตัดสินว่าเป็นวัตถุโดย typeof และส่งคืนค่า "วัตถุ" ฉันควรทำอย่างไรเมื่อวัตถุในตัว JavaScript เช่นสตริงอาร์เรย์วัตถุฟังก์ชั่นวัตถุวันที่วัตถุบูลีนและวัตถุข้อผิดพลาด ที่นี่คุณสามารถเรียกวิธีการ toString ของวัตถุเช่น:
การคัดลอกรหัสมีดังนี้:
var n, res;
n = หมายเลขใหม่ (66);
res = object.prototype.toString.call (n);
console.log (res);
n = สตริงใหม่ ("สตริง");
res = object.prototype.toString.call (n);
console.log (res);
n = [];
res = object.prototype.toString.call (n);
console.log (res);
-