JavaScript中void 0是什么

JavaScript中void 0是什么

void是什么?

MDN中给void的定义是:void 运算符对给定的表达式进行求值,然后返回 undefined。简单来说就是你给出一个计算表达式通过void运算符进行求值,无论表达式值是什么返回都是undefined。
请添加图片描述
那么undefined又是什么?

MDN中的定义是:全局属性 undefined 表示原始值 [undefined]。它是一个 JavaScript 的 原始数据类型 。但是它有可能在非全局作用域中被当作标识符(变量名)来使用(因为 undefined 不是保留字),这样做是一个非常坏的主意,因为这样会使你的代码难以去维护和排错。
请添加图片描述通过上面代码可以看出,window、undefined在局部作用域中是允许被重写的,因此有时通过undefined来进行判断就存在风险。这时候void运算符的作用就体现出来了,void无论计算什么属性都返回undefined,没有额外风险。
请添加图片描述

参考资料

MDN void运算符 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/void

MDN undefined https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值