ตัวดำเนินการ typeof
ตัวดำเนินการ typeof ช่วยให้สามารถกำหนด
ประเภทของพารามิเตอร์ (ตัวเลข, สตริง, อ็อบเจ็กต์) ได้ ตัวดำเนินการ
ส่งคืนสตริงที่มีประเภท ('number',
'string', 'object')
สำหรับ null
ตัวดำเนินการส่งคืน 'object' (นี่คือ
ข้อผิดพลาดที่ยอมรับของภาษา) สำหรับฟังก์ชัน ตัวดำเนินการ
ส่งคืน 'function' สิ่งนี้ถูกสร้างขึ้น
เพื่อความสะดวก เนื่องจากไม่มีประเภท 'function'
อยู่จริง
ไวยากรณ์
ตัวดำเนินการ typeof มี 2 ไวยากรณ์
(ทั้งสองไวยากรณ์ทำงานเหมือนกัน):
typeof พารามิเตอร์;
typeof(พารามิเตอร์);
ตัวอย่าง
มาดูกันว่า typeof ทำงานกับ
ตัวเลขอย่างไร:
typeof 1;
จากผลลัพธ์ของโค้ดที่ทำงาน
เราจะได้ค่า number:
'number'
ตัวอย่าง
คราวนี้ลองกำหนดสตริงเป็นพารามิเตอร์:
typeof 'str';
ผลลัพธ์ของการทำงานโค้ด:
'string'
ตัวอย่าง
คราวนี้กำหนดค่า boolean
true เป็นพารามิเตอร์:
typeof true;
ผลลัพธ์ของการทำงานโค้ด:
'boolean'
ตัวอย่าง
มาดูกันว่าค่า undefined
มีประเภทอะไร:
typeof undefined;
หลังจากทำงานโค้ด
เราจะได้ undefined เช่นกัน:
'undefined'
ตัวอย่าง
คราวนี้มาดูประเภทของ อ็อบเจ็กต์ว่าง:
typeof {};
ผลลัพธ์ของการทำงานโค้ด:
'object'
ตัวอย่าง
คราวนี้มาดูประเภทของ อาร์เรย์ว่าง:
typeof [];
ผลลัพธ์ที่ได้ก็คือ
'object':
'object'
ตัวอย่าง
มาดูประเภทของ
ค่า null กัน:
typeof null;
ผลลัพธ์ที่ได้ก็คือ
'object' ซึ่งเป็น
ข้อผิดพลาดที่ยอมรับของภาษา:
'object'
ตัวอย่าง
คราวนี้มากำหนดประเภทของฟังก์ชันว่าง:
typeof function() {};
หลังจากทำงานโค้ด เราจะได้
'function'
แม้ว่าจะไม่มีประเภทดังกล่าว
ก็ตาม สตริงนี้
มีไว้เพื่อความสะดวกของผู้ใช้
ในการกำหนดฟังก์ชัน:
'function'
ตัวอย่าง
มาเขียนฟังก์ชันที่จะแสดงผลเฉพาะ ตัวเลข:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);