TypeScript 1.4引入了类型别名。这些示例显示了如何使用像type MyGreeter = Greeter<string>
这样的别名,但是否可以使用通用别名?
以下示例不起作用:
type GenericAlias<T> = OriginalType<T>
type GenericAlias = OriginalType<T>
是否可以在不进行类型转换的情况下为泛型类型添加别名?
从 TypeScript 1.6 开始,这现在可以了。
// from #1616:
type Lazy<T> = T | (() => T);
var s: Lazy<string>;
s = "eager";
s = () => "lazy";
1.6 之前的答案
不,还没有。您可以在问题 #1616 中看到这方面的进展。
至于这个功能什么时候可用...
最近我们一直忙于ES6对齐和最近宣布的Angular 2.0相关功能。我们将(重新)评估其中一些类型系统特定问题,但目前此类问题没有具体日期。-源
根据发行说明,从 TypeScript 1.6 开始,现在可以使用泛型类型别名。