在Typescript中,如何使用扩展语法设置querySelectorAll的类型
我有这个密码在Typescript中,如何使用扩展语法设置querySelectorAll的类型,typescript,selectors-api,spread-syntax,Typescript,Selectors Api,Spread Syntax,我有这个密码 const elements = [...document.querySelectorAll('.someClass')] 结合: 查询选择器 扩展运算符 我不知道如何将Typescript类型添加到此行 我从控制台获得错误: TS2548: Type 'NodeListOf<Element>' is not an array type or does not have a '[Symbol.iterator]()' method that returns an
const elements = [...document.querySelectorAll('.someClass')]
结合:
- 查询选择器
- 扩展运算符
TS2548: Type 'NodeListOf<Element>' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator.
TS2548:类型“NodeListOf”不是数组类型,或者没有返回迭代器的“[Symbol.iterator]”方法。
当您以es5
为目标时,它不起作用,因为TypeScript不支持为符号填充/polyFilling。迭代器
如果您以es6为目标,它将起作用
或者,您可以使用数组。从使用lib
选项:
const elements = [...Array.from(document.querySelectorAll('.someClass'))]
或者更简单地说:
const elements = Array.from(document.querySelectorAll('.someClass'))
当您以es5
为目标时,它不起作用,因为TypeScript不支持对Symbol.iterator进行填充/polyfiling
如果您以es6为目标,它将起作用
或者,您可以使用数组。从使用lib
选项:
const elements = [...Array.from(document.querySelectorAll('.someClass'))]
或者更简单地说:
const elements = Array.from(document.querySelectorAll('.someClass'))
非常感谢,我将尝试Array.from()
建议。我认为巴贝尔的转换是不完美的,打字稿在原则上坚持真正的转换,这是对的吗?因此,无法像巴贝尔那样选择转换spread运算符。我是Typescript的初学者,有没有推荐的方法来“键入”数组from()
版本?非常感谢,我将尝试数组.from()
建议。我认为巴贝尔的转换是不完美的,打字稿在原则上坚持真正的转换,这是对的吗?因此,无法像巴贝尔那样选择转换spread运算符。我是Typescript的初学者,有没有推荐的方法来“键入”Array.from()
version?