ES 6中Iteratorとfor.of.遍歴用法分析

1599 ワード

本論文の実例は、ES 6におけるIteratorとfor.of.エルゴード用法を述べている.皆さんに参考にしてあげます.具体的には以下の通りです.
Iteratorとfor.of.遍歴
1.Iterator概念
エルゴード(Iterator)は、様々な異なるデータ構造のための統一的なアクセス機構を提供するインターフェースである.JSの中には元のIteratorインターフェースを備えたデータ構造があります.この概念をよりよく理解するために、私達も自分でIteratorを書くことができます.

var it = simIteractor(['hi','ES5']);
console.log(it.next()); //Object {value: "hi", done: false}
console.log(it.next()); //Object {value: "ES5", done: false}
console.log(it.next()); //Object {value: undefined, done: true}
function simIteractor(array){
    var nextIndex = 0;
    return{
      next: function(){
        return nextIndex < array.length ? {value: array[nextIndex++], done: false} : {value: undefined, done:true};
      }
    };
}

2.ES 6では、デフォルトのIteratorインターフェースは、データ構造のSymbol.iterator属性に配置されています.または、一つのデータ構造はSymbol.iterator属性を持っていれば、巡回可能です.ES 6には、元の3つのタイプのデータ構造があります.配列、いくつかの類似配列のオブジェクト、SetおよびMapを備えています.
3.遍歴といえば、遍歴の方法を話します.
for…in…:for-innは一般的なオブジェクトのために設計されています.文字列タイプのキーを巡回して得ることができますので、配列遍歴には適用されません.
For...of...:for-ofサイクルは、データを巡回するために使用されます.たとえば、配列内の値です.for-ofサイクルは他の集合を巡回することもできます.
for-ofサイクルは、配列だけでなく、DOM NodeListなどのほとんどのクラスのオブジェクトをサポートします.
for-ofループもサポートされています.文字列を一連のUnicode文字として巡回します.

or (var chr of "abc"){
  alert(chr); //    a,b,c
}

MapとSetオブジェクト遍歴も同じです.Mapを知らないなら/www.jb 51.net/articale/110048 htを見てください.Setを知らないなら/www.jb 51.net/articale/110052 htを見てください.
本論文で述べたように、皆さんのECMAScriptプログラムの設計に役に立ちます.