Typescript类型体操 - IsNever
题目
中文
实现一个以 T 作为泛型参数的 IsNever类型.
如果 T 是never, 返回 true, 否则返回 false.
示例:
type A = IsNever<never>; // expected to be true
type B = IsNever<undefined>; // expected to be false
type C = IsNever<null>; // expected to be false
type D = IsNever<[]>; // expected to be false
type E = IsNever<number>; // expected to be false
English
Implement a type IsNever, which takes input type T.
If the type of resolves to never, return true, otherwise false.
For example:
type A = IsNever<never>; // expected to be true
type B = IsNever<undefined>; // expected to be false
type C = IsNever<null>; // expected to be false
type D = IsNever<[]>; // expected to be false
type E = IsNever<number>; // expected to be false
答案
type IsNever<T extends unknown> = [T] extends [never] ? true : false;
浙公网安备 33010602011771号