我正在浏览文档并发现了这段代码:
const LIMIT = 3;
const asyncIterable = {
[Symbol.asyncIterator]() {
let i = 0;
return {
next() {
const done = i === LIMIT;
const value = done ? undefined : i++;
return Promise.resolve({ value, done });
},
return() {
// This will be reached if the consumer called 'break' or 'return' early in the loop.
return { done: true };
},
};
},
};
(async () => {
for await (const num of asyncIterable) {
console.log(num);
}
})();
// 0
// 1
// 2
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我无法理解为什么 return 用作这样的方法return(){}?我尝试运行这段代码并且运行良好。那么,这是 JavaScript 的新功能吗?
这是一个方法定义,而不是返回语句。
类似于这里的return属性object:
const object = {
return: () => {
return "Hello world";
}
};
console.log(object.return()); // Hello worldRun Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |