Skip to content

IsNever

自 1.0.0 起

检查一个类型是否为 never

签名

typescript
type IsNever<T> = [T] extends [never] ? true : false

参数

参数描述
T要检查的类型

返回值

如果 Tnever,返回 true,否则返回 false

示例

基本用法

typescript
import type { IsNever } from 'uni-types'

type Check1 = IsNever<never> // true

非 never 类型

typescript
type Check2 = IsNever<string> // false
type Check3 = IsNever<undefined> // false
type Check4 = IsNever<null> // false
type Check5 = IsNever<void> // false

在条件类型中使用

typescript
import type { IsNever } from 'uni-types'

// 特殊处理 never 类型
type HandleNever<T> = IsNever<T> extends true 
  ? 'was never' 
  : T

type Test1 = HandleNever<string> // string
type Test2 = HandleNever<never> // 'was never'

相关

  • IsAny - 检查类型是否为 any
  • IsUnknown - 检查类型是否为 unknown
  • IsEqual - 检查类型是否相等

基于 MIT 许可发布