微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

辨析JavaScript中的Undefined类型与null类型

Undefined

表示变量已声明,但未被初始化。需要注意的是当使用typeof操作符判断数据类型时,未被声明的变量和未初始化的变量返回的值都为undefined

rush:js;"> var message; console.log(typeof message);//undefined console.log(typeof age);//undefined

null:表示一个空对象指针

使用typeof操作符返回的值是'object',需要注意的是,undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回true。

rush:js;"> console.log(null == undefined);//true

undefined与null的区别

(1)undefined表示一个变量没有被声明,或者被声明了但没有被赋值 (2)null是一个表示“没有值”的值 (3)Javascript将未赋值的变量认值设为undefined (4)Javascript从来不会将变量设为null。它是用来让程序员表明某个用var声明的变量时没有值的。 (5)undefined不是一个有效的JSON,而null是 (6)undefined的类型(typeof)是undefined,null的类型(typeof)是object.

PS:它们都是基本类型

他们都是falsy (Boolean(undefined) // false,Boolean(null) // false) 你可以这样判断一个变量是否是undefined

rush:vb;"> typeof variable === "undefined"

你可以这样判断一个变量是否是null

rush:js;"> variable === null

双等号比较时它们相等,但三等号比较时不相等

rush:js;"> null == undefined // true null === undefined // false

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐