在这里,我喜欢为 Service 类创建一个默认迭代器。我需要使服务可迭代,但我无法进一步思考。我相信我需要使用 *Symbol.iterator 但不知道如何使用
class Service {
constructor() {
this.link = [];
}
}
var service = new Service();
service.link.push(1);
service.link.push(2);
service.link.push(3);
for (let x of service) {
console.log(x);
}
最佳答案
是的,只需在类上定义*[Symbol.iterator]() {
class Service {
constructor() {
this.link = [];
}
*[Symbol.iterator]() {
for (let i = 0; i < this.link.length; i++)
yield this.link[i];
}
}
var service = new Service();
service.link.push(1);
service.link.push(2);
service.link.push(3);
for (const x of service) {
console.log(x);
}
关于javascript - 如何使用 javascript/ecmascript 6 中的生成器方法创建具有值集合的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49565256/