【发布时间】:2019-01-16 18:09:11
【问题描述】:
不是 TypeScript 用户,但我正在为我的 JavaScript 库编写一个 TypeScript 声明文件,但我坚持使用以下代码:
function ArrayMixin(Base) {
class ExtendedArray extends Base {}
return ExtendedArray;
}
这将返回一个扩展给定类的类。在这种情况下,我想将 Base 限制为 Arrays 和 TypedArrays(所谓的索引集合)。我可以创建一个联合类型来声明所有必要的构造函数并将其用作函数签名中的类型:
type IndexedCollection = ArrayConstructor|Int8ArrayConstructor
declare function ArrayMixin(Base: IndexedCollection): ExtendedArray
但是如何指定我的 ExtendedArray 扩展了 IndexedCollection 中的任何一个?如何声明 ExtendedArray?
【问题讨论】:
标签: typescript