Useful JS Tips

#05 - Differences between undefined and null

2016-01-05 by @loverajoel

  • 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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null)

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

    null == undefined // true
    
    null === undefined // false
    
<<返回目录