プリミティブ型の特定の値だけを代入可能にする型
依存型み
プリミティブ型の特定の値だけを代入可能にする型
依存型み
デフォルトエクスポート/インポート
モジュール名.要素名で呼び出せるようになる構文
第二引数はreplacer引数
replacerとして宣言→return undefinedでプロパティを(変換後について)削除
IterableプロトコルとIteratorプロトコル
.nextを持っていると,iteratorプロトコルを持ったオブジェクトで,{ value: 次の値, done: 完了かどうか }という形式のオブジェクトを返せる.
IterableプロトコルとIteratorプロトコル
.iteratorを持っているとIterableオブジェクト
集合の関係を判定するメソッド
isDisjointFrom:共通な要素を持つかどうかの
新しい集合を返すメソッド
unionで和集合 intersectionで積集合 differenceで差集合 symmetricDifferenceで対称差集合(和集合-積集合)
entriesメソッドは[値, 値]という形のエントリーを挿入順に列挙するIteratorオブジェクトを返します
Mapと似せるための実装だからか,わりと奇妙な挙動をする
Set
要は集合だよね
あるオブジェクトから計算した結果を一時的に保存する用途でもよく使われます
WeakMapの用途
WeakMap
WeakMapは,弱い参照を持ち,これによって,ガベージコレクションがWeakMapのオブジェクトをリソース開放することができるようになる.
マップとしてのObjectとMap
ObjectでもMapのような動作ができるが,それだとconstructorなどの予約されたものと衝突する.
同じキーで複数回setメソッドを呼び出した際は、後から追加された値で上書きされます。
同じキーでsetすると 上書き
特定のキーにひもづいた値を持っているかを確認するhasメソッドがあります
hasであるキーに対応する値があるかチェック
Mapには新しい要素をsetメソッドで追加でき、追加した要素をgetメソッドで取り出せます
getで追加,setで取得
マップとは、キーと値の組み合わせからなる抽象データ型です
マップは連想配列,kvデータ型ってことかな