如何在JavaScript或Node.js中检查一个值是否为空或未定义

298 阅读1分钟

JavaScript使用两种 "空 "值的表示方法。当 "空 "时,我们的意思是它们没有一个确切的值被分配。这两个值是nullundefined

这两个值,nullundefined ,在JavaScript中都很有价值。除了在你不检查它们的时候。在这种情况下,你会遇到无法访问 "null "或 "undefined "的属性或方法的错误。

本教程告诉你如何检查一个给定的值是否是nullundefined

在JavaScript中检测空值或未定义值

你可以创建一个实用的方法来检查一个给定的输入是否是nullundefined 。 这里有一个示例函数,你可以复制到你的项目中,是它来检查空值:

/**
 * 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) 方法,确定给定的valuenull 还是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 方法提供了适当的类型化。

享受吧!