当前位置:网站首页>TS 泛型的extends属性

TS 泛型的extends属性

2022-06-09 09:15:00 你还差的远呢。

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>()
原网站

版权声明
本文为[你还差的远呢。]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_43853213/article/details/124957032