Skip to content

never 类型

never 可以看作一个什么都没有的空的集合(null、undefined 也不存在), 其正好与 any 相对

特点:

  1. 可以作为任何类型的子集
ts
type Never10 = never extends "zs" ? true : false // true
type Never11 = never extends number ? true : false // true
type Never12 = never extends [string] ? true : false // true
type Never13 = never extends void ? true : false // true
  1. never 不等于 null、undefined、void
ts
// 显式的表明返回结果为 Null
type Func14 = () => never
type Func14ReturnType = MyReturnType<Func14> // never

// 返回的结果类型为  number
const func15 = () => void  // const func10 = () => number
type Func15ReturnType = MyReturnType<typeof func15>  // number
  1. never 是用来提醒开发者,这部分可能无法执行。
  • 存在异常导致后面的代码无法执行
  • 入参不符合要求,空执行