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

Giá trị Boolean của undefined trong JavaScript

Boolean(undefined) trả về false. Cùng nhóm "falsy values" với: null, false, 0, -0, 0n (BigInt), "" (empty string), NaN.

Ví dụ các giá trị falsy

<script>
  // Tạo hole trong mảng → undefined
  const arr = [1,2,3,4];
  arr[6] = 7; // index 4,5 là hole → undefined
  const x = arr[4];
  
  document.write(Boolean(x) + '<br>');   // false (undefined)
  document.write(Boolean(undefined) + '<br>'); // false
  document.write(Boolean(null) + '<br>');     // false
  document.write(Boolean(NaN) + '<br>');       // false
  document.write(Boolean('') + '<br>');        // false
  document.write(Boolean(false) + '<br>');     // false
  document.write(Boolean(0) + '<br>');         // false
</script>

Kết quả

false
false
false
false
false
false
false

Tất cả giá trị khác là TRUTHY

  • Object/Array rỗng: {}, [] → true.
  • Function: function(){} → true.
  • String non-empty: "0", "false", " " → true.
  • Số non-zero: 1, -1, 3.14 → true.

Áp dụng thực tế

// Default parameter pattern (trước ES6)
function greet(name) {
  name = name || 'Guest'; // undefined → 'Guest'
  // hoặc Boolean check
  if (!name) name = 'Guest';
}

// Optional chaining + nullish coalescing (ES2020) — tốt hơn
function greetModern(name) {
  const displayName = name ?? 'Guest'; // Chỉ null/undefined mới fallback
  // Không dùng || vì '' (empty string) cũng falsy nhưng có thể hợp lệ
}

Bảng Falsy Values

Giá trịBoolean()Ghi chú
undefinedfalseBiến khai báo không gán giá trị
nullfalseKhông có giá trị cố ý
falsefalseBoolean false
0, -0, 0nfalseZero number/BigInt
""falseEmpty string
NaNfalseNot a Number
OtherstrueTất cả object, array, function, non-empty string, non-zero number