Truty value and falsy value is a little bit different from Boolean value. In JavaScript, the truthy value is strict equal to true when evaluated in a Boolean context, and the falsy value is evaluted to false.

The following value is common falsy value:

  • false
  • null
  • undefined
  • 0
  • NaN
  • ‘’
  • document.all

All value are truthy value except falsy value:

!!{} === true
// => true
!!document.all === false
// => true
Reference