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

在阅读本篇之前,你需要先了解生成器(Generator)的基础知识,如果还没有,请阅读

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

在生成器(Generator)中,return语句的作用是指定最后一次.next()函数调用时的value

在生成器(Generator)中,return语句的作用是为最后一个.next()函数调用设置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()函数调用,返回的对象中,value的值为yield语句中指定的值,即1;而第二次.next()函数调用,返回的对象中,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()函数调用返回的对象中,value的值为2,即return语句中指定的值。

更多关于生成器(Generator)的探讨请参见:

  1. JavaScript:生成器(Generator)
  2. JavaScript:yield表达式的返回值
  3. JavaScript:生成器(Generator)中的return语句
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。