typeof !== “undefined” vs. != null
2022-08-29 23:04:44
我经常看到JavaScript代码以这种方式检查未定义的参数等:
if (typeof input !== "undefined") {
// do stuff
}
这似乎有点浪费,因为它涉及类型查找和字符串比较,更不用说它的详细程度了。这是必需的,因为可以重命名。undefined
我的问题是:
该代码如何比这种方法更好:
if (null != input) {
// do stuff
}
据我所知,你不能重新定义,所以它不会意外中断。而且,由于运算符的类型强制,这会检查和...这通常正是您想要的(例如,对于可选的函数参数)。null
!=
undefined
null
然而,这种形式似乎并不普遍,它甚至导致JSLint对你大喊大叫,因为你使用了邪恶的操作员。!=
为什么这种风格被认为是不好的?