function* fibs() {
var a = 0;
var b = 1;
while (true) {
yield a;
[a, b] = [b, a + b];
}
}
var [first, second, third, fourth, fifth, sixth] = fibs();
sixth // 5
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
// 输出 0 1 1 2 3 5[sixth]
变量解构赋值,机制和数组一样,依次从Iterator接口获取值,例如下面普通数组形式,可以类比思考。
function*表示fibs是个生成器函数这个赋值语句调用了 6 次 fibs 函数