首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让TypeScript在ES6到ES5中构建可迭代性?

如何让TypeScript在ES6到ES5中构建可迭代性?
EN

Stack Overflow用户
提问于 2016-07-25 18:48:58
回答 1查看 976关注 0票数 1

我试图创建一个独特的数组的用户对象在角2写在TypeScript。我使用简短而优雅的ES6方法创建了一个独特的数组:

代码语言:javascript
复制
  this.users = Array.from(new Set(this.users))

当我将TypeScript构建为ES5时,我会得到这个错误:

类型'Set<{}>‘的参数不能分配给类型'IterableShim<{}>’的参数。属性“ES6-shim迭代器”在'Set<{}>‘类型中缺失。

我尝试过设置this.users : IterableShim<T>,但是IterableShim不是一个可以接受的类型,比如string。文档中说字符串、数组、TypedArray、Map和Set都是内置的可迭代性,因为它们的原型对象都有一个Symbol.iterator方法。(来源:Generators )是否有一种方法可以让TypeScript编译它认为是ES5可迭代的、没有错误的ES6?

EN

回答 1

Stack Overflow用户

发布于 2016-07-26 00:49:46

lib选项用作:

代码语言:javascript
复制
"lib": [
  "dom","es6"
]

下列各项运作良好:

代码语言:javascript
复制
let users = []
users = Array.from(new Set(users))

更多

https://basarat.gitbooks.io/typescript/content/docs/types/lib.d.ts.html#lib-option

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38575343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档