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

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


Để kiểm tra biến có phải undefined, dùng toán tử logic hoặc typeof. Kết quả false nghĩa là biến chưa định nghĩa (hoặc là undefined/null/0/""). Ví dụ dưới đây biến rank = 1 → true (đã định nghĩa).

Ví dụ

<html>
  <body>
    <script>
      var rank = 1;
      if (rank) {
        document.write("True");  // Biến có giá trị truthy
      } else {
        document.write("False");
      }
    </script>
  </body>
</html>

Các cách kiểm tra chính xác hơn

1. Kiểm tra có tồn tại (không phải ReferenceError)

// typeof an toàn - không throw ReferenceError nếu biến chưa khai báo
if (typeof myVar !== "undefined") {
  console.log("Biến đã khai báo");
}

2. Kiểm tra có giá trị (không phải null/undefined)

if (myVar != null) { // loose equality bắt cả null và undefined
  // myVar có giá trị
}

3. Kiểm tra strict undefined

if (myVar !== undefined) {
  // myVar không phải undefined (có thể là null, 0, "", false)
}

4. Kiểm tra truthy/falsy (phổ biến)

if (myVar) {
  // myVar là truthy: không phải false, 0, "", null, undefined, NaN
}

Lưu ý quan trọng

  • if (rank) trong ví dụ gốc kiểm tra truthy, không phải "đã định nghĩa". Biến var rank; (không gán giá trị) → undefined → falsy → ghi "False".
  • Biến chưa khai báo (undeclared) dùng if (x) sẽ throw ReferenceError. Phải dùng typeof x !== "undefined".
  • null == undefined là true, nhưng null === undefined là false.