TS 泛型的extends属性

T extends object 是泛型约束的一种表现。

泛型约束简单点来说就是把泛型的具体化数据类型范围缩小

理解 T extends object:
extends表示具体的泛型类型只能是 object 类型, 某个变量如果能断言成 object类型[变量 as object ] , 那么这个变量的类型符合 T extends object
就是说该变量的类型可以是T的具体化类型

在这里插入图片描述
在这里插入图片描述

限制了泛型的类型,我们传了 number 就会报错
在这里插入图片描述

tip: 我们使用了 T extends object,传什么具体的泛型不会报错呢?
我们传的具体的泛型 能断言成 extends 后面的类型
也就是我们的具体的泛型 可以是 extends 后面的类型, 或者是extends 后面的类型的子集

class Container<T extends object>{
   t!: T
   show(): T {
      console.log(this.t);
      return this.t
   }
}
let c = new Container<{}>()
let c = new Container<object>()
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值