在Typescript中使用ES6扩展运算符组合两个数组

时间:2018-07-02 12:48:46

标签: javascript typescript ecmascript-6

我正尝试使用如下所示的散布对象将两个数组合并为一个:

const queryVariable = {
      ...this.state,
      filters: [...Object.keys(extraFilters || {}), ...this.state.filters],
    }

this.state.filters是一个数组。但是打字稿给我以下错误:

Type must have a '[Symbol.iterator]()' method that returns an iterator.

我在这里做错了什么?

2 个答案:

答案 0 :(得分:3)

检查tsconfig.json中的typescript编译器选项

 "compilerOptions": {
    "target": "es6"
 }

请参阅 https://github.com/Microsoft/TypeScript/issues/22768

答案 1 :(得分:0)

它正在(可能)在抱怨... this.state。对象上的传播运算符是ES2018的功能。