6時だョ!!全員集合!!

Rails・JavaScrictを中心にアウトプットします。

2022年3月10日 [ES2015] Map/Set - Set (JavaScript Primer)

復習

WeakMapの認識が甘かった箇所
  • Mapと違いキーには参照型のオブジェクトのみ使用できるためプリミティブ型だとエラーになります。
ラッパーオブジェクト
  • プリミティブ型に対してプロパティを呼び出すタイミングで働きます。

Set

Setはセット型のコレクションを扱うためのビルトインオブジェクトです。 セットは重複する値がないことが保証されたコレクションのことを言います。

Setは追加した値を列挙できるので、値が重複しないことを保証する配列のようなものとしてよく使われます。

値の重複がなく配列のインデックスで要素にアクセスできないものというイメージです。

new演算子インスタンスを生成することができます。

const set = new Set();
console.log(set.size); // => 0

文字列もイテラブルのためセットとして扱うことも出来ます。 以下の例では"o"が重複しているためsizeが4として保存されています。

const set = new Set("yanoooo");
console.log(set.size); // => 4
console.log(set); // => [object Set] ←中身は 'y','a','n','o'となっていてpaizeでは出力されます。

set自体は以下のように状態を持っていることがわかります。 image

はじめから用意されているイテラブルなオブジェクト

  • Array
  • String
  • iterator
  • ジェネレータ
  • Arguments
  • TypedArray
  • Map
  • Set

参考

Set