在Typescript中,如何使用传播语法设置querySelectorAll的类型

时间:2018-09-06 01:13:53

标签: typescript selectors-api spread-syntax

我有这个代码。

const elements = [...document.querySelectorAll('.someClass')]

以下各项的组合:

  • querySelectorAll
  • 点差算子

我不知道如何向此行添加Typescript类型。

我从控制台收到错误:

TS2548: Type 'NodeListOf<Element>' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator.

1 个答案:

答案 0 :(得分:1)

定位es5时不起作用,因为TypeScript不支持为Symbol.iterator填充/多边形

如果您定位es6,它将起作用。

或者,您也可以使用Array.from选项来使用lib

const elements = [...Array.from(document.querySelectorAll('.someClass'))]

或更简单地说:

const elements = Array.from(document.querySelectorAll('.someClass'))