【JSリファレンス】Symbol.isConcatSpreadable

更新日:2024/06/14

Symbol.isConcatSpreadableは、Symbolコンストラクターのプロパティです。

既知シンボル(well-known symbol) @@isConcatSpreadable の実体を返します。

このSymbol値はオブジェクトのプロパティ名として使用され、ブール値を返すことを想定しています。

値がtrueの場合、Array.prototype.concat()によってオブジェクトが展開されます。

 

■使用例

const obj = {
  0:4 , 2:6 , length:3,
 [Symbol.isConcatSpreadable]:true
}
  // trueの場合objが展開される
console.log( [ 1 , 2 , 3 ].concat( obj ) );
  // [ 1, 2, 3, 4, <1 empty item>, 6 ]

  // falseの場合objが展開されない
spreadableObj[Symbol.isConcatSpreadable] = false;
console.log( [ 1 , 2 , 3 ].concat( obj ) );
  // [ 1, 2, 3, {
  //      0:4 , 2:6 , length:3,
  //      [Symbol.isConcatSpreadable]:false
  //    } 
  //  ]

更新日:2024/06/14

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

スポンサーリンク

記事の内容について

null

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

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

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

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

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

 

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