typescript - 如何影响通过 TypeScript 中的方法调用细化的泛型类类型
问题描述
我正在为一个我们命名的库编写类型定义,library
它包含一个A
带有方法的通用接口,可以通过调用该函数来创建refine
一个新对象。A
createA
interface A<T> {
refine<U extends T>(): A<U>
}
interface CreateA {
<T extends any>(): A<T>;
}
const createA: CreateA;
我们现在可以创建A
受初始createA
函数或链式refine
方法约束的新对象。
createA<any>(); // A<any>
createA<any>().refine<number>(); // A<number>
如何使 TypeScript 引用自身并在refine
调用方法时优化它的类型。
const a = createA<any>();
a.refine<number>();
我想在运行该方法后a
成为 type ,但它目前仍然是 type 。A<number>
refine
A<any>
解决方案
推荐阅读
- java - Blue Prism - JNLP 应用程序的间谍模式
- r - 如何根据命名逻辑向量过滤数据框
- spring-boot - 微服务:跨服务验证和解耦?
- node.js - 如何排除不安全的 package.json 临时依赖项?
- c# - 是否有一种方法可以加入多个 linq 查询以根据用户选择获得结果?
- php - localhost:一些引导样式在 Chrome 中不起作用,但在 UC 浏览器中仍然有效
- java - 如何在 VSCode 中运行 Spring Boot maven 项目以及如何配置 Spring Boot Web 应用程序的基本 URL
- python - 如何在这样的数据框中获得每个月的平均值?
- blockchain - 无法使用 Ganache GUI 连接到 Truffle 或 testrpc
- mysql - 数据库中的整数溢出