【发布时间】:2016-09-23 00:50:23
【问题描述】:
对于 ES2015 js 类,我想要一个迭代器。所以我尝试了以下
export default class MyList {
iterator* () {
// Dummy implementation
let counter = 0;
while(true) {
yield counter++;
}
}
}
因为我想做
let list = new MyList();
iter = list.iterator();
while(!iter.done()) { ... }
例如。
但是,这不起作用。所以问题是,在类中实现迭代器的首选方法是什么?
【问题讨论】:
-
“但是,这不起作用” 是一个非常糟糕的问题描述。根据接受的答案,您应该收到语法错误。这是重要信息!
-
错误是
SyntaxError: missing : after property id,这对于那些已经使用该语言有一段时间的人来说是有用的,但对于新手来说却不是,特别是因为避免使用冒号表示法以支持缩短的对象方法表示法。只是我的 3 美分。 -
我希望标题能说明一切,这就是为什么我省略了一些细节
标签: javascript iterator ecmascript-6