Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách kiểm tra biến chưa định nghĩa (not-defined) trong JavaScript


Để kiểm tra biến undefined, dùng các cách sau. Kết quả false nghĩa là biến chưa định nghĩa. Ví dụ biến points = 100 → True.

Ví dụ

<html>
  <body>
    <script>
      var points = 100;
      if (points) {
        document.write("True");
      } else {
        document.write("False");
      }
    </script>
  </body>
</html>

Phân biệt: Undeclared vs Undefined

Trạng tháiMô tảKiểm tra an toàn
Undeclared (chưa khai báo)Biến không tồn tại trong scope. typeof x === "undefined" trả true. if (x) throw ReferenceError.typeof x !== "undefined"
Declared but Uninitialized (khai báo không gán giá trị)var x; → x === undefined là true.x === undefined hoặc typeof x !== "undefined"
Initialized (đã gán giá trị)Biến có giá trị cụ thể (có thể là null, 0, "").x != null (bắt null & undefined)

Các phương pháp kiểm tra

// 1. typeof - an toàn nhất cho undeclared
if (typeof myVar === "undefined") {
  console.log("Chưa khai báo HOẶC khai báo nhưng chưa gán giá trị");
}

// 2. So sánh trực tiếp (chỉ dùng khi chắc chắn biến đã khai báo)
if (myVar === undefined) {
  console.log("Giá trị là undefined");
}

// 3. Nullish coalescing (ES2020) - kiểm tra null/undefined
const value = myVar ?? "default"; // nếu myVar là null/undefined → "default"

// 4. Optional chaining (ES2020) - cho object property
const val = obj?.prop?.nested; // undefined nếu bất kỳ link nào missing

Lưu ý

Ví dụ gốc dùng if (points) kiểm tra truthy. Nếu points = 0 → ghi "False" dù biến đã định nghĩa. Cần chọn phương pháp phù hợp ngữ cảnh.