javascript - 什么是 TypeScript 中的 F 界多态性

标签 javascript typescript

我注意到 TypeScript 1.8 版本支持 F-Bounded Polymorphism .用外行的话来说,它是什么以及它有什么帮助?我假设由于此功能很早就包含在内,所以它一定非常重要。

最佳答案

这基本上意味着您拥有函数引用的泛型列表,并且在该泛型列表中,一种类型可以引用另一种类型,以定义两种泛型类型之间的关系。

function someFunction <T, U> (t: T, u: U): T {
  return t;
}

const dog = someFunction(new Dog(), new Cat());

万岁!

现在,有了有界泛型,它们可以相互引用来定义它们之间关系的界限:

function someFunction <T extends U, U> (t: T, u: U): T {
  return t;
}

const dog = someFunction(new Dog(), new Pet());
const cow = someFunction(new Cow(), new Animal());
const BOOM = someFunction(new Cat(), new Dog()); // *BEWM!*

关于javascript - 什么是 TypeScript 中的 F 界多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176786/

相关文章:

javascript - 如何获取 HTML5 <video> 元素中每一帧的像素数据

javascript - 在视口(viewport) Bootstrap 中更改类

javascript - 推荐在 Typescript 中使用哪个?类类型对象或具有许多参数的任何类型?

node.js - TypeScript 构建错误 TS5023

javascript - 我想使用 style 标签覆盖 css 类属性。动态更改样式标签值

装饰器函数中出现 TypeScript 错误 TS1005 : '?' expected.

javascript - 同步存储、每个项目的最大配额字节和分块数据存储

javascript - 如何让javascript加载另一个html文件?

typescript - TS2339 : Property does not exist on union type - property string | undefined

javascript - 在 Angular2 上传播计算值的正确方法