2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScriptにあったらいいなと思うもの

Last updated at Posted at 2018-09-29

あったらいいなと浮かんだものをなんとなく書いてるのだけなのでいろんなところからマサカリが飛んできそうですが...

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のあれです

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

終わりに

この記事はなにか作ってるときになんとなくこれあったら便利じゃねってことで思いついたものを並べてるだけで、実装上のあれとか、あのライブラリであるよ、とか言われるのを想定した上で何も調べず気が向いたときに書いているのであまりまともに受け止めず、暇つぶし程度に読んでください

  1. 実際for文なんてES6以降使う場面無いというか使わないほうがいいんだが

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?