JavaScript使用两种 "空 "值的表示方法。当 "空 "时,我们的意思是它们没有一个确切的值被分配。这两个值是null 和undefined 。
这两个值,null 和undefined ,在JavaScript中都很有价值。除了在你不检查它们的时候。在这种情况下,你会遇到无法访问 "null "或 "undefined "的属性或方法的错误。
本教程告诉你如何检查一个给定的值是否是null 或undefined 。
在JavaScript中检测空值或未定义值
你可以创建一个实用的方法来检查一个给定的输入是否是null 和undefined 。 这里有一个示例函数,你可以复制到你的项目中,是它来检查空值:
/**
* Determine whether the given `value` is `null` or `undefined`.
*
* @param {*} value
*
* @returns {Boolean}
*/
function isNullOrUndefined (value) {
return value == null
// `value == null` is the same as `value === undefined || value === null`
}
value == null 比较是一个方便的方法,可以同时检查空值和未定义。松散的平等运算符试图转换和比较不同类型的操作数。
使用"@supercharge/goodies "包
我是@supercharge/goodies包的维护者,该包为Node.js和JavaScript提供方便的辅助函数。这个包带有一个方便的isNullish(value) 方法,确定给定的value 是null 还是undefined :
const { isNullish } = require('@supercharge/goodies')
isNullish(null)
// true
isNullish(undefined)
// true
isNullish(0) // false
isNullish('') // false
isNullish({}) // false
isNullish([]) // false
isNullish(false) // false
注意: isNullish 方法是完全类型化的,你的代码编辑器或IDE知道所提供的值是空的/未定义的或不是。类型化的发生是因为@supercharge/goodies 包是用TypeScript编写的,并且为isNullish 方法提供了适当的类型化。
享受吧!