ホームページ  >  記事  >  WeChat アプレット  >  ES6 新機能開発 WeChat アプレット (4)

ES6 新機能開発 WeChat アプレット (4)

迷茫
迷茫オリジナル
2017-03-25 17:28:261797ブラウズ

Symbol Type

ES6 では、一意の値を表すための新しいプリミティブ データ型 Symbol が導入されています。これは、JavaScript 言語の 7 番目のデータ型です。最初の 6 つは、未定義、Null、Boolean、String、Number、および Object です。

Symbol関数によりSymbol値が生成されます。これは、オブジェクトの属性名が 2 つのタイプを持つことができることを意味します。1 つは元の文字列で、もう 1 つは新しいシンボル タイプです。シンボル タイプに属するすべての属性名は一意であり、他の属性名と競合しないことが保証されます。

ES6 新機能開発 WeChat アプレット (4)

イテレータ

ES6 イテレータは組み込みではなく、[Symbol.iterator]() と .next() を使用して作成されます。イテレータは、さまざまなデータ構造に統一されたアクセス メカニズムを提供するインターフェイスです。データ構造が Iterator インターフェイスをデプロイしている限り、トラバーサル操作を完了できます (つまり、データ構造のすべてのメンバーを順番に処理します)。

イテレーターの役割:

は、さまざまなデータ構造に対する統合されたシンプルなアクセス インターフェイスを提供します。

によって作成されたデータ構造のメンバーを特定の順序で配置できるようにします。 ES6 新しいトラバーサル コマンド for...of ループが導入されました。Iterator インターフェイスは主に for...of の使用に使用されます。

ES6 新機能開発 WeChat アプレット (4)
Set、マップデータ構造

ES6は新しいデータ構造Setを提供します。配列に似ていますが、メンバーの値は一意であり、重複する値はありません。

Set自体はSetデータ構造を生成するために使用されるコンストラクターです。

ES6 新機能開発 WeChat アプレット (4)
ES6 は Map データ構造を提供します。オブジェクトと似ており、キーと値のペアのコレクションでもありますが、「キー」の範囲は文字列に限定されず、さまざまな種類の値(オブジェクトを含む)をキーとして使用できます。言い換えれば、Object 構造は「文字列と値」の対応を提供し、Map 構造は「値と値」の対応を提供します。これは、ハッシュ構造のより完全な実装です。 「キーと値のペア」データ構造が必要な場合は、Object よりも Map の方が適しています。

ES6 新機能開発 WeChat アプレット (4)
WeakSet 構造は Set に似ており、非反復値のコレクションでもあります。ただし、WeakSet は、Object、Array、Function などのオブジェクト型の要素のみを格納できます。 WeakSet 内のオブジェクトはすべて弱参照です。つまり、ガベージ コレクション メカニズムは、そのオブジェクトに対する WeakSet の参照を考慮しません。他のオブジェクトがそのオブジェクトを参照しなくなった場合、それに関係なく、ガベージ コレクション メカニズムはそのオブジェクトによって占有されているメモリを自動的に再利用します。オブジェクトの WeakSet にも存在します。弱参照の WeakSet を使用すると、メモリ リークを心配する必要がありません。

WeakSet オブジェクトにはメソッドが 3 つだけあり、WeakMap にはサイズ属性がありません:

add(): 新しい要素をセットに追加します。

delete(): 指定された要素をセットから削除します。

has(): セットに指定された要素が含まれている場合は true を返します。

WeakMap 構造は基本的に Map 構造に似ており、キーと値のペアのコレクションでもあります。ただし、WeakMap はオブジェクト (null を除く) をキー名としてのみ受け入れ、他のタイプの値をキー名として受け入れず、キー名が指すオブジェクトはガベージ コレクション メカニズムに含まれません。

WeakMap オブジェクトのメソッド。WeakMap にはサイズ属性がありません。WeakMap オブジェクトは列挙できません:

clear(): WeakMap からすべての要素を削除します。

delete(): 指定された要素を WeakMap から削除します。

get(): WeakMap から指定された要素を返します。

has(): WeakMap に指定された要素が含まれている場合は true を返します。

set(): WeakMap に新しい要素を追加します。

toString(): WeakMap の文字列表現を返します。

valueOf(): 指定されたオブジェクトの元の値を返します。

ES6 新機能開発 WeChat アプレット (4)

型付き配列 (型付き配列)

型付き配列 (ArrayBuffer オブジェクト、TypedArray ビュー、および DataView ビュー) は、JavaScript がバイナリ データを操作するためのインターフェイスです。これらのオブジェクトは長い間存在しており、独立した仕様に属しています (2011 年 2 月にリリース) が ECMAScript 仕様に組み込まれ、新しいメソッドが追加されました。

型付き配列はあらゆるバイトベースのデータ構造をサポートしており、ネットワーク プロトコル、暗号化アルゴリズム、ファイル形式の操作などの機能を簡単に実装できます。

ArrayBuffer は不透明なメモリ領域です (いわゆる不透明とは、直接操作できないデータ ブロックを意味します)。単位はバイト (Byte) で、その byteLength 属性はそのメモリ サイズを返します。

ArrayBuffer では、さまざまなビューを使用して任意の数の型付き配列を作成でき、これらの型付き配列を重複させることもできます。 8 つの異なる型付き配列 (ビュー) があります。次のとおりです。 : 1 バイト、8 ビット符号なし整数 0~(2^8) - 1

Int16Array: 2 バイト、16 ビット 2 進符号付き整数 -2^15~(2^15 )-1ES6 新機能開発 WeChat アプレット (4)

Uint16Array : 2 バイト、16 ビット符号なし整数 0~(2^16) - 1

Int32Array: 4 バイト、32 ビット 2 進符号付き整数-2^31~ (2^31)-1

Uint32Array : 4 バイト、32 ビット符号なし整数 0~(2^32) - 1

Float32Array: 4 バイト、32 ビット IEEE 浮動小数点数

Float64Array: 8 バイト、64 ビット IEEE 浮動小数点数

1 つのデータに複数の型が含まれる場合、ArrayBuffer オブジェクトの複合ビューを作成することに加えて、DataView ビュー操作を使用することもできます。

DataView は、より多くの操作オプションを提供し、エンディアンの設定をサポートします。

DataView 自体もコンストラクターであり、ArrayBuffer オブジェクトをパラメーターとして受け入れてビューを生成します。

ES6 新機能開発 WeChat アプレット (4)

以上がES6 新機能開発 WeChat アプレット (4)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。