原文:undefined与null的区别 - 每天一个JavaScript小知识@Js中文网 · 码农进阶题库

原文地址:https://www.javascriptc.com/interview-tips/zh_cn/javascript/differences-between-undefined-and-null/

  • undefined表示一个变量没有被声明,或者被声明了但没有被赋值
  • null是一个表示“没有值”的值
  • Javascript将未赋值的变量默认值设为undefined
  • Javascript从来不会将变量设为null。它是用来让程序员表明某个用var声明的变量时没有值的。
  • undefined不是一个有效的JSON,而null
  • undefined的类型(typeof)是undefined
  • null的类型(typeof)是object. 为什么?
  • 它们都是基本类型
  • 他们都是falsy (Boolean(undefined) // false, Boolean(null) // false)
  • 你可以这样判断一个变量是否是undefined
  typeof variable === "undefined"
  • 你可以这样判断一个变量是否是null
  variable === null
  • 双等号比较时它们相等,但三等号比较时不相等
  null == undefined // true

  null === undefined // false

扩展阅读: