首页 文章

TypeScript类型参数实现多个接口

提问于
浏览
11

C# 中,我可以这样做:

class Dictionary<TKey, TVal> where TKey : IComparable, IEnumerable { }

TypeScript 1.5 beta 中是否有一种方法可以在泛型类或函数中实现类型参数来实现多个接口,而无需为此创建全新的接口?

由于逗号含糊不清,显而易见的方法显然不起作用 .

class Dictionary<TKey extends IComparable, IEnumerable, TValue> { }

顺便说一句,有趣的是, extends 可以在泛型中完美地处理接口联合:

class Dictionary<TKey extends IComparable|IEnumerable, TValue> { }

2 回答

  • 1

    Intersection types现在从TS 1.6开始就在这里,您可以在上面的例子中使用它:

    class Dictionary<TKey extends IComparable & IEnumerable, TValue> { }
    
  • 21

    在TS1.5中,唯一可行的方法是声明一个新的接口,它可以扩展A和B.

    另一种选择是为即将到来的TS1.6祈祷,其中支持intersection type .

相关问题