Array.prototype.concat()とは
例のごとく、、
Arrayとは?
MDNによるとArrayは配列を構築するためのグローバルオブジェクトで、
配列とは複数の要素を管理格納してくれるリスト構造らしい。 正確ではないかもしれないが、僕の認識では配列はインデックス番号をもった
ビルドインオブジェクトと言う認識です。 配列を現実で例えると、出席簿みたいなもので、
番号と何かしらの要素(出席簿の場合は生徒の名前)が入ったリスト表みたいなイメージで良いと思う。
JavaScript の Array オブジェクトは、配列を構築するためのグローバルオブジェクトで、配列とは複数の要素の集合を格納管理するリスト構造です。 MDN
prototypeとは?
prototypeとはビルドインオブジェクトがあらかじめ持っているプロパティや
メソッドのことを言います。 正直まだ深く理解出来てない、、
Array.prototype.concat()とは?
やっと本題。
concat()
メソッドは、配列に他の配列や値をつないでできた新しい配列を返します。
ポイントは二つ。
1,配列と配列を繋いだり、配列と値を繋げたり出来る。
2,新しい配列として繋ぎ合わせた配列を返す。
const array1 = [1,2,3];
const array2 = [4,5,6];
const array3 = array1.concat(array2);
console.log(array3) /// Array[1,2,3,4,5,6];
console.log(array1) /// Array[1,2,3];
console.log(array2) /// Array[4,5,6];
concatメソッドの混乱ポイントは
新しい配列を生成してくれることだと思う。
pushメソッドだと元の配列に値を追加して、戻り値として配列の長さが返されたけど、
concatメソッドは戻り値に新しい配列を返してくれる。
元の配列は汚さずに目的の配列を作れるのがconcatメソッドを使う最大の理由だと思う。
concatメソッドの中身はこんな感じかな?
const concatArray = (formerArray, addingArray) =>{
const newArray = formerArray + addingArray;
return newArray;
}
上のサンプルはこちらで確認できます。