Falsy Values

Falsy

Bất cứ giá trị nào trong JavaScript khi chuyển đổi sang kiểu dữ liệu boolean mà có giá trị false thì ta gọi giá trị đó là falsy.

Các đối tượng được xem là falsy:

  • 0
  • '', "", `` (empty string)
  • null
  • undefined
  • NaN
  • false

Các dữ liệu và đối tượng ở trên có giá trị là false khi dùng trong một biểu thức luận lý nào đó.

Truthy Values

Truthy

Bất cứ giá trị nào trong JavaScript khi chuyển đổi sang kiểu dữ liệu boolean mà có giá trị true thì ta gọi giá trị đó là truthy.

Nói cách khác, ngoại trừ các giá trị được xem là falsy thì còn lại đều là truthy:

  • Các số âm và dương ngoại trừ số 0.
  • Các chuỗi ngoại trừ chuỗi rỗng "", `` hoặc ''.
  • [] hoặc {}.
  • true.
  • document.all. Lưu ý, khi dùng trong biểu thức so sánh == hoặc != sẽ là undefined.

Các dữ liệu và đối tượng ở trên có giá trị là true khi dùng trong một biểu thức luận lý nào đó.

Casting to Booleans

Để chuyển tất cả các loại dữ liệu về boolean, ta sử dụng hai lần toán tử not (!), tức là !!:

console.log(!!undefined) // false
console.log(!!" ") // true