Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2018年5月.
values() は Array インスタンスのメソッドで、配列の各要素の値を含む新しい配列イテレーターオブジェクトを返します。
なし。
新しい反復可能なイテレーターオブジェクトです。
Array.prototype.values() は Array.prototype[Symbol.iterator]() の既定の実装です。
疎配列に使用された場合、 values() メソッドは空のスロットを undefined の値であるかのように反復処理します。
values() メソッドは汎用的です。このメソッドは this 値に length プロパティと整数キーのプロパティがあることだけを期待します。
values() は反復可能なイテレーターを返すため、 for...of ループを使用して反復処理を行うことができます。
返値はイテレーターでもあるため、直接 next() メソッドを呼び出すことができます。
警告: 配列イテレーターオブジェクトは、一回のみ使用可能なオブジェクトになります。再利用しないでください。
values() で返される反復可能オブジェクトは再利用できません。 next().done = true または currentIndex > length になった場合、 for...of ループは終了し、それ以降の反復処理は効果がありません。
break 文を使用して早めに反復処理を終了した場合、反復処理を継続する際にイテレーターで現在の位置から再開することができます。
values() から返される配列のイテレーターオブジェクトには値が格納されていません。その代わり、生成時に使用した配列のアドレスを格納し、各反復時に現在アクセスしている位置を読み取ります。そのため、イテレーターの出力は、そのステップの実行時にその位置に格納されている値に依存します。配列の値が変化した場合は、配列イテレーターオブジェクトの値も変化します。
反復処理メソッドとは異なり、配列イテレーターオブジェクトは作成時に配列の長さを保存せず、反復処理のたびに一度だけ読み込みます。そのため、反復処理中に配列が大きくなった場合、イテレーターは新しい要素も処理します。これにより、無限ループが発生する可能性があります。
values() は空のスロットを undefined であるかのように処理します。
values() メソッドは this の length プロパティを読み込み、そのキーが length より小さい非負の整数である各プロパティにアクセスします。
| ECMAScript® 2027 Language Specification # sec-array.prototype.values |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年8月9日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.