TypeScript 泛型兼容

2019-3-13 11:56| 作者: admin| 查看: 322| 评论: 0|来自: 蚂蚁部落

TypeScript是结构性的类型系统,泛型的类型参数影响数据的成员。

代码实例如下:

[typescript] 纯文本查看 复制代码
interface Empty<T> {
}
let obj:Empty<number>={};

为泛型传递类型参数number,但是并没有真正使用,所以对数据没有什么影响。

再来看一段代码实例:

[typescript] 纯文本查看 复制代码
interface Empty<T> {
}
let x: Empty<number>;
let y: Empty<string>={};

x = y;

由于上面的原因,所以赋值会成功。

如果没有指定泛型类型的泛型参数,会把所有泛型参数当成Any类型比较,代码实例如下:

[typescript] 纯文本查看 复制代码
let identity = function<T>(x: T) {
    // code
}

let reverse = function<U>(y: U) {
    // code
}

identity = reverse;

代码中,泛型参数类型都会被当做Any类型。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部