Spec-Zone.ru › JavaScript

arguments[Symbol.iterator]()

Базовый уровень Широко доступен

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна в браузерах с июля 2015 года.

Метод [Symbol.iterator]() объектов arguments реализует протокол итератора и позволяет большинству синтаксисов, ожидающих итерируемые объекты, таким как оператор расширения и циклы for...of, использовать объекты arguments. Он возвращает итератор массива, который выдает значение каждого индекса в объекте arguments.

Начальное значение этого свойства совпадает с начальным значением свойства Array.prototype.values (а также совпадает с Array.prototype[Symbol.iterator]()).

Синтаксис

arguments[Symbol.iterator]()

Параметры

Нет.

Возвращаемое значение

То же, что и возвращаемое значение Array.prototype.values(): новый итератор, который выдает значение каждого индекса в объекте arguments.

Примеры

Итерация с использованием цикла for...of

Обратите внимание, что вы редко нуждаетесь в вызове этого метода напрямую. Наличие метода [Symbol.iterator]() делает объекты arguments итерируемыми, и синтаксисы итерации, такие как цикл for...of, автоматически вызывают этот метод для получения итератора, по которому происходит перебор.

function f() {
  for (const letter of arguments) {
    console.log(letter);
  }
}
f("w", "y", "k", "o", "p");

Ручное создание итератора

Вы по-прежнему можете вручную вызвать метод next() возвращаемого объекта итератора для достижения максимального контроля над процессом итерации.

function f() {
  const argsIter = arguments[Symbol.iterator]();
  console.log(argsIter.next().value); // w
  console.log(argsIter.next().value); // y
  console.log(argsIter.next().value); // k
  console.log(argsIter.next().value); // o
  console.log(argsIter.next().value); // p
}
f("w", "y", "k", "o", "p");

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# sec-createunmappedargumentsobject
Спецификация языка ECMAScript® 2027
# sec-createmappedargumentsobject

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
@@iterator
52
12
46
39
9
52
46
41
9
6.0
52
9
1.0.0
1.0
4.0.0

См. также

  • Руководство по функциям
  • Функции
  • arguments
  • Array.prototype.values()
  • Symbol.iterator
  • Протоколы итерации

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/Symbol.iterator

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API