• undefined means a variable has not been declared, or has been declared but has not yet been assigned a value
  • null is an assignment value that means “no value”
  • Javascript sets unassigned variables with a default value of undefined
  • Javascript never sets a value to null. It is used by programmers to indicate that a var has no value.
  • undefined is not valid in JSON while null is
  • undefined typeof is undefined
  • null typeof is an object. Why?
  • Both are primitives
  • Both are falsy (Boolean(undefined) // false, Boolean(null) // false)
  • You can know if a variable is undefined

    typeof variable === "undefined"
  • You can check if a variable is null

    variable === null
  • The equality operator considers them equal, but the identity doesn’t

    null == undefined // true
    null === undefined // false