JavaScript 中 Undefined 和 Null 区别

Undefined

在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。

var person;                  // 值是 undefined,类型是 undefined。

任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。

person = undefined;          // 值是 undefined,类型是 undefined。
空值

空值与 undefined 不是一回事。
空的字符串变量既有值也有类型。

var car = "";                // 值是 "",类型是 "string"
Null

在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。
不幸的是,在 JavaScript 中,null 的数据类型是对象。
您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。
您可以通过设置值为 null 清空对象:

var person = null;           // 值是 null,但是类型仍然是对象

您也可以通过设置值为 undefined 清空对象:

var person = undefined;           // 值是 undefined,类型是 undefined。
Undefined 与 Null 的区别

Undefined 与 null 的值相等,但类型不相等:

typeof undefined              // undefined
typeof null                   // object
null === undefined            // false
null == undefined             // true
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容