简述TypeScript 的 never type 是什么,什么时候用?
参考答案:
TypeScript 中的 never
类型表示的是那些永不存在的值的类型。换句话说,never
类型是那些永远不会被赋值给变量的类型。这听起来可能有点抽象,但实际上,它主要用于描述函数永远不会返回的情况,或者变量永远不会被赋值的场景。
最常见的 never
类型使用场景是在函数返回类型中。例如,一个函数如果永远不会返回(例如,它包含一个无限循环或者它抛出了一个永远不会被捕获的异常),那么这个函数的返回类型就是 never
。
这是一个例子:
function error(message: string): never {
throw new Error(message);
}
在这个例子中,error
函数接受一个字符串参数,并抛出一个错误。由于这个错误永远不会被捕获,因此 error
函数的返回类型是 never
。
另一个使用 never
类型的场景是在联合类型(union types)中。在 TypeScript 中,你可以使用 |
符号来创建联合类型,这表示一个变量可以是几种类型之一。如果你想要表示一个变量可以是任何类型,除了某个特定的类型,你可以使用 never
类型。例如:
type AllButString = number | boolean | null | undefined | never;
在这个例子中,AllButString
是一个联合类型,表示一个变量可以是 number
、boolean
、null
或 undefined
,但永远不能是 string
类型。
总的来说,never
类型是 TypeScript 中一种非常有用的类型,它主要用于描述那些永远不会被赋值给变量的值,或者函数永远不会返回的情况。
学习笔记
0 学习笔记