@@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
仕様
ブラウザ実装状況
機能 | 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)。