我试图创建一个独特的数组的用户对象在角2写在TypeScript。我使用简短而优雅的ES6方法创建了一个独特的数组:
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?
发布于 2016-07-26 00:49:46
将lib选项用作:
"lib": [
"dom","es6"
]下列各项运作良好:
let users = []
users = Array.from(new Set(users))更多
https://basarat.gitbooks.io/typescript/content/docs/types/lib.d.ts.html#lib-option
https://stackoverflow.com/questions/38575343
复制相似问题