NaN เป็น property ของ JavaScript แปลว่า "Not-a-Number" ค่าที่ไม่ใช่ตัวเลขที่ถูกต้อง เพื่อตรวจสอบว่าค่าเป็น NaN ใช้เมธอด Number.isNaN() หรือ isNaN()
ตัวอย่าง
ตัวอย่างตรวจสอบตัวแปรว่าเป็น NaN:
<!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('Website') + ": '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>
ความแตกต่าง isNaN() vs Number.isNaN()
| คุณสมบัติ | isNaN() (global) | Number.isNaN() (ES6) |
|---|---|---|
| Type coercion | มี (แปลง argument เป็น number ก่อน) | ไม่มี (ตรวจสอบค่า NaN ตรงๆ) |
| isNaN("hello") | true | false |
| isNaN(undefined) | true | false |
| Number.isNaN(NaN) | true | true |
แนะนำ: ใช้ Number.isNaN() เพื่อความแม่นยำ