假设我们有一个通用接口:
export interface IKeyValue<K, V> {
key: K;
value: V;
}
现在,我们要声明一个变量/字段,并限制哪些类型可以用作K
和V
:
public items: IKeyValue<K extends Type1, V extends Type2>[];
上面的代码无法编译。
我正在使用TypeScript 2.6。
我们如何在TypeScript中实现它?
答案 0 :(得分:0)
那是因为你没有提供定义而是提供实例。
public items: IKeyValue<Type1, Type2>[];
...是有效的语法。
如果要限制定义(界面),则可以提供extends:
export interface IKeyValue<K extends Type1, V extends Type2> {
key: K;
value: V;
}