在閱讀本篇之前院塞,你需要先了解生成器(Generator)的基礎(chǔ)知識(shí),如果還沒有,請(qǐng)閱讀
在生成器(Generator)中吮龄,return
語句的作用是指定最后一次.next()
函數(shù)調(diào)用時(shí)的value
值
在生成器(Generator)中,return
語句的作用是為最后一個(gè).next()
函數(shù)調(diào)用設(shè)置value
值咆疗。我們先來看一個(gè)例子:
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)用午磁,返回的對(duì)象中尝抖,value
的值為yield
語句中指定的值,即1
漓踢;而第二次.next()
函數(shù)調(diào)用牵署,返回的對(duì)象中,value
的值為undefined
喧半。
為了說明return
語句在生成器(Generator)中的作用,我們?cè)倏匆粋€(gè)例子:
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}
從第二個(gè)例子青责,我們可以看出挺据,第二次.next()
函數(shù)調(diào)用返回的對(duì)象中取具,value
的值為2
,即return
語句中指定的值扁耐。
更多關(guān)于生成器(Generator)的探討請(qǐng)參見: