什么是 JavaScript 中的生成器

2023-12-31 14:35:15

JavaScript中的生成器代码是一种特殊的函数,它可以生成迭代器对象。生成器代码通过使用yield关键字来指示生成器的状态。每次调用生成器函数时,它都会返回一个迭代器对象,该对象可以用于以惰性的方式逐步产生值。

生成器代码的语法类似于普通函数,但在函数体内部使用yield关键字来指定要生成的值。每次调用迭代器的next()方法时,生成器代码将执行到下一个yield语句处,并返回一个包含yield后表达式的对象。该对象包含两个属性:value表示生成的值,done表示生成器是否已完成。当生成器达到函数末尾时,done属性将为true,表示生成器已完成。

以下是一个简单的示例,演示了如何使用生成器代码:

function* generator() {
  yield 'Hello';
  yield 'World';
  yield '!';
}

const iterator = generator();
console.log(iterator.next()); // { value: 'Hello', done: false }
console.log(iterator.next()); // { value: 'World', done: false }
console.log(iterator.next()); // { value: '!', done: false }
console.log(iterator.next()); // { value: undefined, done: true }

在上面的示例中,生成器函数generator通过使用yield关键字来生成三个值。然后,我们创建了一个迭代器对象iterator,并通过调用其next()方法来迭代生成器的值。每次调用next()方法时,生成器代码执行到下一个yield语句处,并返回一个包含生成的值的对象。最后,当生成器代码执行完毕时,done属性为true,表示生成器已完成。

文章来源:https://blog.csdn.net/weixin_59525879/article/details/135315175
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。