我似乎有不同的方法(严格平等)检查undefined
:
if (something === undefined)
if (typeof something === 'undefined')
if (something === void 0)
- 可能还有其他人
In a 幸福的场景他们的行为是一样的。换句话说,它们都有效。
但是,考虑到 JavaScript 的所有怪异之处,它们的行为真的相同吗?
If yes,为什么人们选择其他方法而不是第一种?这是某种遗产还是误解?因为第一个显然在可读性和意图演示上都是最清晰的。
if (something === undefined)
是标准的正常方式
typeof something === 'undefined'
在声明的变量上主要是一个过度防御的解决方案,从您可以更改的时间开始window.undefined
。如果您不知道变量是否已声明,它的优点是不会引发错误,但我认为合法的代码不应该支持声明状态未知的变量的情况。
void 0
(or 作废任何东西 http://es5.github.io/#x11.4.2) 是一种标准化的方法undefined
所以它相当于第一个但没用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)