Panda Noir

JavaScript の限界を究めるブログでした。最近は幅広めに書いてます。

enumをそこそこ綺麗に書く

今日で本ブログは6周年となりました。特に何かするわけではありませんが。

本題に入ります。enumをJavaScriptでそこそこ綺麗に書くテクニックの紹介です。

const [SUN, MON, TUE, WED, THU, FRI, SAT] = Array(7).keys();

これだけのTipです。Array(7)Array(20)くらいにしておくと、ほとんどのケースで対応可能かと思います。

一応解説

さすがに短すぎるのでコードの解説をします。まず、Array(7).keys()[0, 1, 2, 3, 4, 5, 6]という配列を用意します。あとはこれをES2015の分割代入でSUN、MON、…のそれぞれに代入するだけです。

使い方

const days = [SUN, SUN, MON, FRI];
days.filter(day => day === SUN).length; // 2

すみません、いい例が思いつきませんでした。