子类继承Array等造成无法访问子类中声明的方法问题

97 阅读1分钟
export class ChartDataSet extends Array{
  constructor() {
    super();
  }
  public sortBy(dataConfigs: ChartDataConfig[]): void {
    
  }
}

const  chartDataSet = new ChartDataSet();
chartDataSet.sortBy()

以上代码会报错 提示sortBy is not function

解决方式

手动的去设置prototype

constructor(){
  super();
  Object.setPrototypeOf(this, ChartDataSet.prototype);
}