如何从本机构造函数脚本扩展

时间:2016-11-04 03:38:28

标签: javascript typescript

class ExtendSet<T> extends Set<any> {
  constructor(value: any) {
    super(value);
  }
}

var s = new ExtendSet([1, 2, 3, 4, 5]);

console.log(s);

TypeError:构造函数集需要&#39; new&#39;

实际上,我只想扩展Set Object的一些方法,比如toArray():any []

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es5",
    "moduleResolution": "node",
    "sourceMap": true,
    "types": [
      "mocha",
      "node",
      "typescript",
      "core-js"
    ]
  },
  "exclude": [
    "node_modules"
  ]
}

1 个答案:

答案 0 :(得分:0)

我不确定你为什么会收到这个错误。如果您转到this游乐场代码段,您会发现它不会引发任何错误。也许你正在使用过时的打字稿版本。

关于你想要实现的目标:

我只想扩展Set Object的一些方法,比如toArray():any []

更简单的方法是执行以下操作:

interface Set<T> { 
    toArray: () => any
}

Set.prototype.toArray = () => { 
    // write your code here
}