JavaScript:生成器(Generator)中的return語句

在閱讀本篇之前,你需要先了解生成器(Generator)的基礎知識,如果還沒有,請閱讀

  1. JavaScript:生成器(Generator)
  2. JavaScript:yield表達式的返回值

在生成器(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)的探討請參見:

  1. JavaScript:生成器(Generator)
  2. JavaScript:yield表達式的返回值
  3. JavaScript:生成器(Generator)中的return語句
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容