【JSリファレンス】Array.prototype.concat()

更新日:2024/06/14

Array.prototype.concat()は、Arrayオブジェクト(Arrayコンストラクターのインスタンス)のプロトタイプチェーンに組み込まれるメソッドです。
引数で指定された要素を追加した新しい配列を返します。
また引数が配列なら、展開して追加されます。

 

■構文

Array.prototype.concat ( ...items )
  1. items: 追加する値の羅列
生成された配列

 

■使用例

console.log( [ 1 , 2 , 3 ].concat( 4 ,5 ) );            // [ 1, 2, 3, 4, 5 ]
console.log( [ 1 , 2 , 3 ].concat( [4 ,5] , [6,7] ) );  // [ 1, 2, 3, 4, 5, 6, 7 ]

 

■備考1

引数内の値で、[Symbol.isConcatSpreadable]プロパティにtrueがセットされたアレイライクオブジェクトは、展開可能です。

const spreadableObj = {
  0:4 , 2:6 , length:3,
 [Symbol.isConcatSpreadable]:true
}

console.log( [ 1 , 2 , 3 ].concat( spreadableObj ) ); // [ 1, 2, 3, 4, <1 empty item>, 6 ]

 

■備考2

call()等で配列以外の値をthis値とした場合、生成後の配列の最初にオブジェクト変換後のthis値がセットされます。

const array = Array.prototype.concat.call( true , 1 , 2, 3 );
console.log( array ); // [ Boolean { true }, 1, 2, 3 ]

更新日:2024/06/14

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。