พรอพเพอร์ตี้ NaN ทั่วไปใน JavaScript เป็นค่าที่แทน Not-A-Number (ไม่ใช่ตัวเลข) มันคือค่าที่คืนกลับมาเมื่อ
- ฟังก์ชันคณิตศาสตร์ล้มเหลว (เช่น
Math.sqrt(-500)) - ฟังก์ชันที่พยายามแปลงข้อความเป็นตัวเลขล้มเหลว (เช่น
parseFloat("test"))
NaN ไม่เท่ากับค่าใดๆ (ผ่าน ==, !=, ===, และ !==) รวมถึง NaN อีกตัวหนึ่งด้วย
เพื่อทดสอบว่าค่าเป็น NaN เราต้องใช้เมธอด Number.isNaN
ตัวอย่าง
let a = Math.sqrt(-500); console.log(Number.isNaN(a))
ผลลัพธ์
true
หมายเหตุ - isNaN() และ Number.isNaN(): ตัวแรกจะคืน true หากค่าเป็น NaN อยู่แล้ว หรือจะกลายเป็น NaN หลังจากถูกบังคับแปลงเป็นตัวเลข ส่วนตัวหลังจะคืน true ก็ต่อเมื่อค่าเป็น NaN อยู่แล้วเท่านั้น
ตัวอย่าง
isNaN('hello world'); Number.isNaN('hello world');ผลลัพธ์
true false