จากผลลัพธ์ของโค้ดต่อไปนี้ สามารถทราบได้ว่าตัวแปรเป็น 'undefined' หากผลลัพธ์เป็น "false" หมายถึงตัวแปรเป็น undefined
ที่นี่ตัวแปรให้ผลลัพธ์ "True":
ตัวอย่าง
Live Demo
<html>
<body>
<script>
var res = 10;
if (res) {
document.write("True");
} else {
document.write("False");
}
</script>
</body>
</html>
วิธีที่แม่นยำและแนะนำ
// 1. ตรวจสอบว่าเป็น undefined อย่างแม่นยำ typeof myVar === 'undefined' // true: ไม่ได้ประกาศ, หรือ ประกาศแต่ไม่ได้กำหนดค่า // 2. ตรวจสอบว่าเป็น undefined (เฉพาะค่า undefined ไม่รวม null) myVar === undefined // ⚠️ โยน ReferenceError ถ้ายังไม่ได้ประกาศ // 3. ตรวจสอบ null หรือ undefined พร้อมกัน myVar == null // true ถ้า null หรือ undefined // 4. Nullish coalescing (ES2020) - ให้ค่า default const value = myVar ?? 'default';
ตารางเปรียบเทียบ
| Code | undefined | null | 0 | "" | false | Not Declared |
|---|---|---|---|---|---|---|
if (x) | F | F | F | F | F | Error |
x == null | T | T | F | F | F | T* |
x === undefined | T | F | F | F | F | Error |
typeof x === 'undefined' | T | F | F | F | F | T |
* x == null โยน ReferenceError ถ้า x ไม่ได้ประกาศ (ใน strict mode)