不要な引数を捨てたい
たとえばこんな感じで、
Array.from( Array(3), (x, i) => i ); // x は関数内で使わない。
コールバック関数などで、不要な引数を渡されるとき、どう書いてますか?
Array.from( Array(3), (_, i) => i );
みたいな感じで、アンダースコアなどの変数名で受けて、使用しないことを示したりしますよね。
しかし、要らない引数が複数ある場合はどうでしょうか。
hoge( (_, __, ___, i) => i );
同名の引数を定義することはできないので、アンダースコアが伸びていってしまったりしてかっこ悪いですよね。
あと、アンダースコアはlodashなどのライブラリとぶつかるので、安易に使いたくない場面もあるでしょう。
レストパラメータと分割代入で引数を捨てる
そこで、レストパラメータと分割代入を使うとこのように書けます。
hoge( (...[ , , , i]) => i );
不要の変数を登場させなくてよいので、その点でメリットがありますが、可読性の点でちょっと疑問がありますかね……?