ユーザ用ツール

サイト用ツール


ecmascript:iteration

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
ecmascript:iteration [2025/09/08 14:06] nullponecmascript:iteration [2025/09/08 15:46] (現在) nullpon
行 7: 行 7:
  
 `[Symbol.iterator]`メソッドを実装していること。`[Symbol.iterator]`メソッドはイテレータプロトコルを実装したオブジェクトを返さなければならない。 `[Symbol.iterator]`メソッドを実装していること。`[Symbol.iterator]`メソッドはイテレータプロトコルを実装したオブジェクトを返さなければならない。
 +
 +
 +Array、NodeList、Set、Mapなどは反復可能プロトコルを実装している。
 +
  
 ## イテレータプロトコル ## イテレータプロトコル
行 47: 行 51:
 console.log(Array.from(iterable)); // => `[0,1,2,3,4]` console.log(Array.from(iterable)); // => `[0,1,2,3,4]`
 ``` ```
 +
 +同じオブジェクトで反復可能プロトコル、イテレータプロトコル両方を実装しても構わない
 +
 +```javascript
 +const iteration = {
 +  count: 0,
 +  next() {
 +    if (this.count < 5) {
 +      return { value: this.count++, done: false };
 +    }
 +    return { value: undefined, done: true };
 +  },
 +  [Symbol.iterator]() {
 +    return this;
 +  },
 +};
 +
 +
 +for (const num of iteration) {
 +  console.log(num);
 +}
  
 </markdown> </markdown>
ecmascript/iteration.1757340386.txt.gz · 最終更新: by nullpon