この記事では、js データ構造型拡張子 immutable-js の使用方法を紹介します (コード例)。必要な方は参考にしていただければ幸いです。
Java や .net などの厳密に型指定された言語と比較すると、js と js の大きな違いの 1 つは、データ構造が配列とオブジェクトのみであり、それらはすべて動的に変数であるのに対し、Java にはリスト、セット、マップ、その他のデータ構造。そこで、これらのデータ構造をjsで利用するためにimmutable-jsが登場しました。
immutable-js は、JavaScript の不変コレクション、つまり、一度作成すると変更できないデータ型を拡張します。これにより、アプリケーション開発、無防備なレプリケーションが簡素化され、より高度なメモリ スキームが有効になり、より単純なロジックを使用して更新を確認できます。永続データは、データをその場で更新するのではなく、新しい更新データを生成する変更可能な API を提供します。
1. リスト: JavaScript の配列に似た順序付きインデックス コレクション
#2. 順序なしのキーと値のペア ((key , value ) ペア) set3. OrderedMap: 順序付けされた Map4. Set: 重複する値を含まないセット##5. Stack: 要素の追加と削除をサポートするインデックス コレクション。
7: Range(): 開始から終了までのステップ サイズが入力された Seq.Indexed コレクションを返します。開始のデフォルト値は 0 (ステップのデフォルト値) です。は 1 で、end のデフォルト値は無限大です。 start = end の場合、空のコレクションが返されます。
8.Repeat(): value の回数を繰り返す Seq.Indexed コレクションを返します。時間が定義されていない場合は、無限値の Seq コレクションを返します。
9. レコード: JavaScript のオブジェクトに似ていますが、特定の文字列のみをキーとして受け取り、デフォルト値を持ちます。
10. 中間コレクションなしで高階コレクション関数を使用できます。マップ、フィルターなどの効率的なチェーン呼び出しのための遅延操作のコレクション)
11. コレクション: 提供されるすべてのデータ構造の基本クラス
#3。 ##3.1 fromJS: js データを immutable-js 型データに変換します
const { fromJS, isKeyed } = require('immutable@4.0.0-rc.9'); fromJS({ a: {b: [10, 20, 30]}, c: 40}, function (key, value, path) { console.log(key, value, path) return isKeyed(value) ? value.toOrderedMap() : value.toList() }) > "b", [ 10, 20, 30 ], [ "a", "b" ] > "a", {b: [10, 20, 30]}, [ "a" ] > "", {a: {b: [10, 20, 30]}, c: 40}, []
const { Map, is } = require('immutable@4.0.0-rc.9') const map1 = Map({ a: 1, b: 1, c: 1 }) const map2 = Map({ a: 1, b: 1, c: 1 }) assert.equal(map1 !== map2, true) assert.equal(Object.is(map1, map2), false) assert.equal(is(map1, map2), true)
以上がjs データ構造型拡張子 immutable-js の使用の概要 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。