【发布时间】:2018-07-12 12:43:06
【问题描述】:
我正在研究javascript ES6的生成器。
当我试图理解我的书的一个例子时,我遇到了麻烦,因为下面的代码中有一个没有逗号的 yield 数组。
这段代码是如何工作的?
[代码]
let gen = function*(){
return [yield yield]; // how this code line works?
}
let genObj = gen();
console.log(genObj.next());
console.log(genObj.next(10));
console.log(genObj.next(20));
[运行结果]
Object {value: undefined, done: false}
Object {value: 10, done: false}
Object {value: Array[1], done: true}
[测试 - 1]
let gen = function*(){
return ['a' 'b'];
}
// Uncaught SyntaxError: Unexpected string
[测试 - 2]
let a = [yield yield]
// Uncaught SyntaxError: Unexpected identifier
【问题讨论】:
标签: javascript ecmascript-6 generator