Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีตรวจสอบตัวแปร 'undefined' ใน JavaScript

จากผลลัพธ์ของโค้ดต่อไปนี้ สามารถทราบได้ว่าตัวแปรเป็น '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';

ตารางเปรียบเทียบ

Codeundefinednull0""falseNot Declared
if (x)FFFFFError
x == nullTTFFFT*
x === undefinedTFFFFError
typeof x === 'undefined'TFFFFT

* x == null โยน ReferenceError ถ้า x ไม่ได้ประกาศ (ใน strict mode)