Array.prototype[@@iterator]()

@@iterator プロパティの初期値は、values() プロパティの初期値と同じ関数オブジェクトです。

構文

arr[Symbol.iterator]()

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

var arr = ['f', 'o', 'x', 'k', 'e', 'h'];
// your browser must support for..of loop
// and let-scoped variables in for loops
for (let letter of arr) {
  console.log(letter);
}

もう一つの反復

var arr = ['f', 'o', 'x', 'k', 'e', 'h'];
var eArr = arr[Symbol.iterator]();
console.log(eArr.next().value); // f
console.log(eArr.next().value); // o
console.log(eArr.next().value); // x
console.log(eArr.next().value); // k
console.log(eArr.next().value); // e
console.log(eArr.next().value); // h

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype[@@iterator]()' in that specification.
Standard Initial definition.
ECMAScript 2016 Draft (7th Edition, ECMA-262)
The definition of 'Array.prototype[@@iterator]()' in that specification.
ドラフト

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 38 36.0 (36) [1] 未サポート 25 未サポート
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 未サポート 未サポート 36.0 (36) [1] 未サポート 25 未サポート

[1] Gecko 17 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14) から Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2) までは、iterator プロパティが使われており (bug 907077)、Gecko 27 から Gecko 35 までは "@@iterator" プレースホルダが使われていました。Gecko 36 (Firefox 36 / Thunderbird 36 / SeaMonkey 2.33) では、@@iterator シンボル が実装されました (bug 918828)。

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: Marsf, shide55
 最終更新者: Marsf,