1
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 5 years have passed since last update.

レストパラメータと分割代入で要らない引数を捨てる

Last updated at Posted at 2019-10-09

不要な引数を捨てたい

たとえばこんな感じで、

Array.from( Array(3), (x, i) => i ); // x は関数内で使わない。

コールバック関数などで、不要な引数を渡されるとき、どう書いてますか?

Array.from( Array(3), (_, i) => i );

みたいな感じで、アンダースコアなどの変数名で受けて、使用しないことを示したりしますよね。

しかし、要らない引数が複数ある場合はどうでしょうか。

hoge( (_, __, ___, i) => i );

同名の引数を定義することはできないので、アンダースコアが伸びていってしまったりしてかっこ悪いですよね。
あと、アンダースコアはlodashなどのライブラリとぶつかるので、安易に使いたくない場面もあるでしょう。

レストパラメータと分割代入で引数を捨てる

そこで、レストパラメータと分割代入を使うとこのように書けます。

hoge( (...[ , , , i]) => i );

不要の変数を登場させなくてよいので、その点でメリットがありますが、可読性の点でちょっと疑問がありますかね……?

参考

Rest parameters - JavaScript | MDN
分割代入 - JavaScript | MDN

1
0
2

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
1
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?