Skip to content

isEmpty

判断一个值是否为空

380 bytes
since v12.1.0

使用方法

传入一个值,返回布尔值表示该值是否为空。

import * as _ from 'radashi'
_.isEmpty([]) // => true
_.isEmpty('') // => true
_.isEmpty('hello') // => false
_.isEmpty(['hello']) // => false

空值包括:

  • null
  • undefined
  • 0
  • 空字符串
  • 空数组
  • 无效的 Date 时间
  • length 属性为 0 的对象
  • size 属性为 0 的对象
  • 没有可枚举键的对象

类型守卫

在某些情况下,isEmpty 可作为类型守卫,帮助 TypeScript 根据检查推断出更具体的类型。

由于 TypeScript 的限制,对象类型无法被收窄,除了数组和函数。

import * as _ from 'radashi'
// 字符串示例
const value1: string = ''
if (_.isEmpty(value1)) {
// TypeScript 推断 value1 为 ''
console.log('值为空字符串')
} else {
// TypeScript 推断 value1 为 string
console.log('值为非空字符串')
}
// 数组示例
const value2: string[] = []
if (_.isEmpty(value2)) {
// TypeScript 推断 value2 为 never[]
console.log('值为空数组')
} else {
// TypeScript 推断 value2 为 string[]
console.log('值为非空数组')
}