NaN เป็น property ของ JavaScript แปลว่า "Not-a-Number" แสดงว่าค่านั้นไม่ใช่ตัวเลขที่ถูกต้อง
Syntax
Number.NaN
ตัวอย่าง
เพื่อตรวจสอบว่าค่าเป็น NaN ใช้ Number.isNaN() หรือ isNaN() ตัวอย่าง:
<!DOCTYPE html>
<html>
<body>
<button onclick="display()">Check</button>
<p id="test"></p>
<script>
function display() {
var a = "";
a = a + isNaN(6234) + ": 6234<br>";
a = a + isNaN(-52.1) + ": -52.1<br>";
a = a + isNaN('Hello') + ": 'Hello'<br>";
a = a + isNaN(NaN) + ": NaN<br>";
a = a + isNaN('') + ": ''<br>";
a = a + isNaN(0) + ": 0<br>";
a = a + isNaN(false) + ": false<br>";
document.getElementById("test").innerHTML = a;
}
</script>
</body>
</html>
เมื่อไหร่ได้ NaN?
- คณิตศาสตร์ที่ไม่ถูกต้อง:
Math.sqrt(-1),0/0,Infinity - Infinity - แปลงสตริงที่ไม่ใช่ตัวเลข:
Number("abc"),parseInt("xyz") - การดำเนินการกับ NaN:
NaN + 5,NaN * 2(ผลลัพธ์เป็น NaN เสมอ)
คุณสมบัติพิเศษ
NaN === NaN เป็น false — NaN เป็นค่าเดียวใน JS ที่ไม่เท่ากับตัวเอง ใช้ Number.isNaN() หรือ Object.is(NaN, NaN) เพื่อตรวจสอบ