| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Generator/return | [Back] [Original] |
Get to know MDN better
generatorInstance.return()
generatorInstance.return(value)
2 Object
donetrue false return try...finally finally yield value yield try...finallyfinally yield/return
return() return value; value return() return(value) { done: true, value: value } yield try...finally finally finally yield done false
return
function* gen() {
yield 1;
yield 2;
yield 3;
}
const g = gen();
g.next(); // { value: 1, done: false }
g.return("foo"); // { value: "foo", done: true }
g.next(); // { value: undefined, done: true }
return(value) "" ""
value .next() value
function* gen() {
yield 1;
yield 2;
yield 3;
}
const g = gen();
g.next(); // { value: 1, done: false }
g.next(); // { value: 2, done: false }
g.next(); // { value: 3, done: false }
g.next(); // { value: undefined, done: true }
g.return(); // { value: undefined, done: true }
g.return(1); // { value: 1, done: true }
return yield try...finally
return try finally try...finally finally
function* gen() {
yield 1;
try {
yield 2;
yield 3;
} finally {
yield "cleanup";
}
}
const g1 = gen();
g1.next(); // { value: 1, done: false }
// try...finally
g1.return("early return"); // { value: 'early return', done: true }
const g2 = gen();
g2.next(); // { value: 1, done: false }
g2.next(); // { value: 2, done: false }
// try...finally
g2.return("early return"); // { value: 'cleanup', done: false }
//
g2.next(); // { value: 'early return', done: true }
//
g2.return("not so early return"); // { value: 'not so early return', done: true }
finally return value
function* gen() {
try {
yield 1;
} finally {
return "cleanup";
}
}
const generator = gen();
generator.next(); // { value: 1, done: false }
generator.return("early return"); // { value: 'cleanup', done: true }
| ECMAScript 2027 LanguageSpecification # sec-generator.prototype.return |
| Web Proxy Viewer | New URL | Original Page |