TypeScript-泛型兼容性

  • 泛型只影响 使用 的部分, 不会影响 声明 的部分

不管三七二十一先来看代码即可:

image-20211202213525389

interface TestInterface<T> {
    age: T;
}

// age:number
let t1: TestInterface<number>;

// age:string
let t2: TestInterface<string>;
t1 = t2;
t2 = t1;

在如上代码当中定义了两个 TestInterface 接口类型的变量,但是在使用定义的 t1t2 报错了,这就是如上所说的只影响使用的部分,然后去了接口当中的 age 限定条件就是只剩下接口的声明了,那么就不会报错了,因为我如上说了不会影响声明部分。

image-20211202213516973

interface TestInterface<T> {
}

let t1: TestInterface<number>;

let t2: TestInterface<string>;
t1 = t2;
t2 = t1;
posted @ 2021-12-02 21:37  BNTang  阅读(55)  评论(0编辑  收藏  举报