在閱讀本篇之前,你需要先了解生成器(Generator)的基礎知識,如果還沒有,請閱讀
在生成器(Generator)中,return語句的作用是指定最后一次.next()函數(shù)調(diào)用時的value值
在生成器(Generator)中,return語句的作用是為最后一個.next()函數(shù)調(diào)用設置value值。我們先來看一個例子:
function* generator() {
yield 1;
}
let it = generator();
console.log(it.next()); // {value: 1, done: false}
console.log(it.next()); // {value: undefined, done: true}
從上面的例子,我們可以看到,第一次.next()函數(shù)調(diào)用,返回的對象中,value的值為yield語句中指定的值,即1;而第二次.next()函數(shù)調(diào)用,返回的對象中,value的值為undefined。
為了說明return語句在生成器(Generator)中的作用,我們再看一個例子:
function* generator() {
yield 1;
return 2;
}
let it = generator();
console.log(it.next()); // {value: 1, done: false}
console.log(it.next()); // {value: 2, done: true}
從第二個例子,我們可以看出,第二次.next()函數(shù)調(diào)用返回的對象中,value的值為2,即return語句中指定的值。
更多關于生成器(Generator)的探討請參見: