gpt4 book ai didi

javascript - 使用 Symbol.iterator 获取 ES6 类的第一个属性

转载 作者:行者123 更新时间:2023-12-03 07:29:35 24 4
gpt4 key购买 nike

所以我有一个与此类似的类(class):

class List {
constructor() {
this._rows = [];
}

add(row) {
this._rows.push(row);
}

[Symbol.iterator]() {
return this._rows.values();
}
}

我知道为了获得第一个元素,我可以通过访问它

List._rows[0]

以及

for (var row of List) {
break;
}

我更好奇,因为我试图将 this._rows 视为私有(private),并且我不希望有一个循环来获取第一个索引。还有其他办法吗?

最佳答案

您可以获取对象的迭代器并使用 next 方法访问值:

let list = new List();
let iterator = list[Symbol.iterator]();
iterator.next().value; // first item
iterator.next().value; // second item

因此,获取第一个值的简写是:

list[Symbol.iterator]().next().value;

在实际代码中,不要忘记检查迭代器是否有下一个值,该值指示迭代器返回的项目的 done 属性。

关于javascript - 使用 Symbol.iterator 获取 ES6 类的第一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35854340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com