スプレッド演算子
スプレッド演算子は、反復可能な(配列、文字列)の値をゼロ以上の引数または要素に”スプレッド”します。 私はそれが後で何を意味するかを正確に説明します。 しかし、最初に、2つの配列をどのように結合するかを見てみましょう:
このメソッドは機能し、私たちが望むものを正確に行います:arr2を取り、arr1の最後に貼り付けます。 しかし、これにはconcatメソッドを覚えておく必要があります。 このようなことができるようにする方が良いでしょう: . ここでは、我々はそれを試してみた場合に何が起こるかです:
今、私たちはネストされた配列になってしまいました。 Forループを使用することもできますが、これは比較的単純なタスクを達成するための多くのコードです。 ES6のおかげで、2つの配列を簡単に結合できるようになりました:spread演算子。
上記のように、spread演算子は配列(または任意の反復可能)を取り、その値をスプレッドします。 のは、それがどのように動作するかを見てみましょう:
それははるかに簡単です! Spread演算子(…)はarr1の値を取得し、arr2に分散します。 上記の例を次のように書くこともできます:
spread演算子は、関数呼び出しでも使用できます。 いくつかのパラメータを取る関数があり、それを渡したいパラメータが配列に格納されているとしましょう。 どのように関数を呼び出してパラメータの配列を渡すことができますか? ここでは、ES6の前にそれを行うだろう方法です:
繰り返しになりますが、mySum(params)のようなことができるといいでしょう。 ここでは、我々はそれを試してみた場合に何が起こるかです:
spread演算子を使用すると、上記の例を次のように書くことができます:
ご覧のように、spread演算子はパラメータの配列を取り、関数呼び出しの引数にそれらを広げます。 しかし、未知の数のパラメータを扱うために関数が必要な場合はどうなりますか? ここで、restパラメータが使用されます。