在Typescript中,扩展Array会产生一个Array类型,如何让它返回List类型?

时间:2017-02-16 11:09:38

标签: javascript arrays typescript

如果我执行以下操作:

export class List<T> extends Array<T> {
    public constructor() { super(); };
}

var listtype : List = new List<String>();

然后编译的javascript生成以下内容:

var List = (function (_super) {
    __extends(List, _super);
    function List() {
        var _this = _super.call(this) || this;
        return _this;
     }
}

如果我在观察窗口中查看listtype。 proto ,它就是一个数组,而不是一个列表。

在使用Typescript进行转换时如何从此代码中获取List类型,以便我可以访问列表中的其他方法(存在于我的解决方案中)?

干杯,

标记

1 个答案:

答案 0 :(得分:1)

我是个白痴 - 事实证明我的项目是为了构建ES3代码而设置的,将目标设置为ES6会使这些类型正确。