a = [...new Set(a)]

タイトルのようなコードが出てきたがまったく読めなかった。aは配列で、Setオブジェクトを通すことでユニークな値のみが拾われ、スプレッド文法を使って再び配列に直している。つまり配列aの要素から重複したものが取り除かれる。

Setオブジェクトやスプレッド文法の使い方として真っ当なため、普通の書き方と言えそうだ。見た目はかなり落ち着かないが、これはスッと読めるようにならないとまずい。


スプレッド演算子ではなくスプレッド文法(spread syntax)っぽいので、意識してそう書く(呼ぶ)ことにし始めた。ESMAScript仕様だと名前らしきものはついておらず、むりやり名づけると要素展開型配列初期化文法などとなりそうだ……。