Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 関数
  5. arguments オブジェクト
  6. [Symbol.iterator]()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

arguments[Symbol.iterator]()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2016年7月⁩.

[Symbol.iterator]()arguments オブジェクトのメソッドで、イテレータープロトコルを実装し、arguments オブジェクトが反覆可能を期待するほとんどの構文(スプレッド構文for...of ループなど)で利用できるようにするためのものです。これは、arguments オブジェクトのそれぞれのインデックスの値を返す配列イテレーターオブジェクト を返します。

このプロパティの初期値は、Array.prototype.values プロパティの初期値と同じ関数オブジェクトです(また、Array.prototype[Symbol.iterator]() とも同じです)。

構文

js
arguments[Symbol.iterator]()

引数

なし。

返値

Array.prototype.values() と同じ返値です。arguments オブジェクトのそれぞれのインデックスの値を返す新しい反復可能イテレーターオブジェクトです。

for...of ループを用いた反復処理

このメソッドを直接呼び出す必要はほとんどないことに注意してください。[Symbol.iterator]() メソッドが存在するので、arguments オブジェクトは反復可能オブジェクトであり、for...of ループなどの同様に反復可能な構文は自動的にこのメソッドを呼び出し、ループ処理用のイテレーターを取得します。

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

イテレーターを手動で手繰る

返されたイテレーターオブジェクトのnext() メソッドを手動で呼び出すことで、反復処理を最大限に制御することもできます。

js
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");

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-createunmappedargumentsobject
ECMAScript® 2026 Language Specification
# sec-createmappedargumentsobject

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp