检查null或undefined
虽然JavaScript的null
和undefined
之间存在语义差异,但很多时候它们可以被视为相同。 检查值是否为空或未定义的最佳方法是什么?
现在我正在做以下事情:
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
null
或undefined
。
==
的细节在这里:抽象平等比较。
上一篇: Checking for null or undefined
下一篇: How to set a variable passed on to a function as null in JavaScript