Массив - это не то же самое, что итератор, хотя они несколько похожи.
Массив - это набор данных, к которым можно вызывать методы (например, forEach
и map
)и что вы можете передать другим методам массива (например, concat
). Массивы также оказываются итеративными (у них есть метод Symbol.iterator
).
С другой стороны, итератор или итератор массива, only предоставляет функциональность для итерации по данным;это не позволяет ничего другого. Вы не можете push
итератору, или модифицировать его, или извлечь значения из определенных признаков (без фактической итерации по нему). Все, что вы можете сделать с помощью итератора, это итерация, тогда как с полным массивом вы можете делать много других вещей.
Здесь редко есть вариант использования для вызова Array.prototype.values
, потому что возвращаемый им итератор идентиченитератор, который будет использоваться, если вы перебрали обычный массив (с for..of). Например, если у вас есть
let myArr = [1, 2, 3, 4];
const iterator = myArr.values();
for (const value of iterator) {
console.log(value);
}
Вы можете просто перебирать массив напрямую:
let myArr = [1, 2, 3, 4];
for (const value of myArr) {
console.log(value);
}