Typescript 基础进阶(三) — 泛型拓展(一)

🎉前言

这是学习 TypeScript 的基础进阶的第三章节,我将会把我学习到的知识总结起来供大家参考。

之前已经学习了泛型的基本用法,接下来我们拓展一下对于泛型的其他知识点。

👹 ​泛型条件类型

在 TypeScript 2.8 中引入了条件类型,使得我们可以根据某些条件得到不同的类型,这里所说的条件是类型兼容性约束。尽管以上代码中使用了 extends 关键字,也不一定要强制满足继承关系,而是检查是否满足结构兼容性。

条件类型有点类似三元表达式,根据真假从而在两种类型中选择其一:

T extends U ? X : Y 

上述代码的意思是:若 T 能够赋值给 U ,那么类型是 X,否则为 Y

👺 ​泛型工具类型

🙈 ​typeof

TypeScript 中,typeof 操作符可以用来获取一个变量声明或对象的类型。注意跟原生的 api 区分一下。

interface Animal {
  name: string;
  age: number;
}
const dog: Animal = { name: '阿黄', age: 4 };
type Dog = typeof dog; // -> Dog
const dogtype = typeof dog; // obje
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值