あったらいいなと浮かんだものをなんとなく書いてるのだけなのでいろんなところからマサカリが飛んできそうですが...
1, Math.sum([value1[, value2[, ...]]])
引数の数値の合計を返す
ES6で追加されたスプレッド構文と一緒に使うことで配列の合計を簡単に求められる
Math.sum(...[1, 2, 3]) // > 6
2, RegExp.setBacktrackLimit(limit)
PHPとかにある機能ですね
正規表現のバックトラックの回数を制限することでプログラムの実行が止まるのを防ぐことが目的です
参考:正規表現の落とし穴(ReDoS - Regular Expressions DoS) - Qiita
3, 1 .. 3
1 から 3 の範囲を表す (Rubyなんかのあれと同じなのかな)
for文で余計なコード書く必要がなくなるね!1
switch文のcaseにも使えれば便利そう
4, Array#remove(value)
const i = arr.indexOf('some value')
arr.splice(i, 0)
の代わりに
arr.remove('some value')
同じ値を消すだけ
えっ?Array#filter使えって?
配列を直接操作できない大人の事情があるんだよ(Proxyとか)
5, if式
そう、Kotlinのあれです
val max = if (a > b) a else b
まぁ素直に三項演算子を使っても良いんですが、ちょっと見やすくなるんじゃないんかな
6, スプレッド構文による関数の展開
オブジェクトリテラルでプロパティ付きの関数を書けたら面白いんじゃないかと思った
const fn = () => 1
const obj = { ...fn, prop: 2 }
obj.prop === 2 // true
obj() === 1 // 現時点ではTypeError
終わりに
この記事はなにか作ってるときになんとなくこれあったら便利じゃねってことで思いついたものを並べてるだけで、実装上のあれとか、あのライブラリであるよ、とか言われるのを想定した上で何も調べず気が向いたときに書いているのであまりまともに受け止めず、暇つぶし程度に読んでください
-
実際for文なんてES6以降使う場面無いというか使わないほうがいいんだが ↩