=== void 0 及 === undefined

2018-12-08  本文已影响0人  苦苦修行

参考:https://segmentfault.com/q/1010000007406985/a-1020000007437795

摘要:

事实上,void的返回值都是undefinedhttps://developer.mozilla.org...
在ES5之前,window下的undefined是可以被重写的,于是导致了某些极端情况下使用undefined会出现一定的差错。
所以,用void 0是为了防止undefined被重写而出现判断不准确的情况。

注: ES5之后的标准中,规定了全局变量下的undefined值为只读,不可改写的,但是局部变量中依然可以对之进行改写。

补充一下:非严格模式下,undefined是可以重写的,严格模式则不能重写。

上一篇 下一篇

猜你喜欢

热点阅读