Typescript类型体操 - IsNever

鼠扑  金牌会员 | 2022-9-17 08:38:51 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 952|帖子 952|积分 2856

题目

中文

实现一个以 T 作为泛型参数的 IsNever类型.
如果 T 是never, 返回 true, 否则返回 false.
示例:
  1. type A = IsNever<never>; // expected to be true
  2. type B = IsNever<undefined>; // expected to be false
  3. type C = IsNever<null>; // expected to be false
  4. type D = IsNever<[]>; // expected to be false
  5. 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:
  1. type A = IsNever<never>; // expected to be true
  2. type B = IsNever<undefined>; // expected to be false
  3. type C = IsNever<null>; // expected to be false
  4. type D = IsNever<[]>; // expected to be false
  5. type E = IsNever<number>; // expected to be false
复制代码
答案
  1. type IsNever<T extends unknown> = [T] extends [never] ? true : false;
复制代码
在线演示

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表