gpt4 book ai didi

javascript - typeof !== "undefined"与 != null

转载 作者:IT老高 更新时间:2023-10-28 11:15:31 24 4
gpt4 key购买 nike

我经常看到 JavaScript 代码以这种方式检查未定义的参数等:

if (typeof input !== "undefined") {
// do stuff
}

这似乎有点浪费,因为它涉及类型查找和字符串比较,更不用说它的冗长了。之所以需要它,是因为 undefined 可以重命名。

我的问题是:
该代码比这种方法更好:

if (null != input) {
// do stuff
}

据我所知,您无法重新定义 null,因此它不会意外中断。而且,由于 != 运算符的类型强制,这会检查 undefinednull... 这通常正是你想要的(例如对于可选的函数参数)。

然而这种形式似乎并不普遍,它甚至会导致 JSLint 对你大喊大叫,因为你使用了邪恶的 != 运算符。

为什么这被认为是不好的风格?

最佳答案

typeof 更安全,因为它允许标识符以前从未被声明过:

if(typeof neverDeclared === "undefined") // no errors

if(neverDeclared === null) // throws ReferenceError: neverDeclared is not defined

关于javascript - typeof !== "undefined"与 != null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2703102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com