检查null或undefined

虽然JavaScript的nullundefined之间存在语义差异,但很多时候它们可以被视为相同。 检查值是否为空或未定义的最佳方法是什么?


现在我正在做以下事情:

if (typeof value === "undefined" || value === null) {
    // do something
}

这非常详细。 当然,我可以为此创建一个函数并导入到任何地方,但我希望有更好的方法来实现这一点。

另外,我知道这一点

if (value == null) {
}

将90%的时间完成工作,除非值为零......或者错误......或一些隐含的东西可能导致模糊的错误。


另外,我知道这一点

if (value == null) {
}

将90%的时间完成工作,除非值为零......或者错误......或一些隐含的东西可能导致模糊的错误。

不,它可以在100%的时间内完成工作。 == null的唯一值是null并且是undefined. 0 == null为false。 "" == undefined是错误的。 false == null为false。 等等,你将== null与虚假混淆,这是一个非常不同的东西。

然而,这并不是说,编写代码期望每个人都知道这一点是个好主意。 你有一个完美的,清晰的检查你已经使用的代码。 无论您是选择写入value == null还是您正在使用的显式的if (value === undefined || value === null) (或者if (value === undefined || value === null) value == null if (value === undefined || value === null) )都是风格和内部约定的问题。 但是value == null会完成你所问的内容:检查该value nullundefined

==的细节在这里:抽象平等比较。

链接地址: http://www.djcxy.com/p/76361.html

上一篇: Checking for null or undefined

下一篇: How to set a variable passed on to a function as null in JavaScript