TypeoF เป็นตัวดำเนินการและผลลัพธ์ที่กลับไปยังตัวถูกดำเนินการเป็นสตริงที่มี 6 ประเภท (สำหรับ ES เท่านั้นไม่ใช่วัตถุสภาพแวดล้อมโฮสต์)
1.
2.'Boolean '
3.'String '
4.'Number '
5.'Object '
6.'function '
เนื่องจากเป็นตัวดำเนินการของตัวเองและไม่ใช่ฟังก์ชั่นจึงไม่จำเป็นต้องเพิ่มวงเล็บเมื่อใช้งาน
การคัดลอกรหัสมีดังนี้:
if (typeof (obj) === 'undefined') {
-
-
Typeof ใช้ในการตัดสินประเภทและมีข้อผิดพลาดหลายประการ
1. การส่งคืนค่า null เป็น 'วัตถุ' แต่คุณไม่สามารถใช้เป็นวัตถุได้
การคัดลอกรหัสมีดังนี้:
var obj = null
if (typeof obj === 'object') {
obj.a () // มีการรายงานข้อผิดพลาดที่นี่
-
2. การกลับมาน่านคือ 'หมายเลข' แต่คุณไม่สามารถใช้เพื่อดำเนินการทางคณิตศาสตร์ได้
การคัดลอกรหัสมีดังนี้:
var obj = {}
var num = parseint (obj.a)
if (typeof num === 'number') {
num = num + 10 // num ยังคงเป็นน่านหลังจากดำเนินการ
-
3. ไม่สามารถแยกแยะระหว่างวัตถุอาร์เรย์และการดำเนินการปกติและส่งคืน 'วัตถุ' สำหรับการดำเนินการทั้งหมด
การคัดลอกรหัสมีดังนี้:
var obj = {}
var arr = []
var reg = /pop /g
console.log (typeof obj) // 'วัตถุ'
console.log (typeof arr) // 'วัตถุ'
console.log (typeof reg) // 'วัตถุ'
4. เวอร์ชันก่อน Safar5 และ Chrome7 return 'ฟังก์ชั่น' ไปยังวัตถุปกติ
ในที่สุดคำอธิบายในข้อกำหนดจะถูกโพสต์