Spread syntax
スプレッド構文 (...) 構文を使うと、配列式や文字列などの反復可能オブジェクトを、0 個以上の引数(関数呼び出しの場合)や要素(配列リテラルの場合)を目的の場所に展開することができます。オブジェクトリテラルでは、スプレッド構文によりオブジェクトのプロパティを列挙し、作成するオブジェクトにキーと値の組を追加します。
スプレッド構文は、残余構文とまったく同じように見えますが、ある意味では、スプレッド構文は残余構文の反対です。スプレッド構文は配列を要素に「展開」しますが、リスト構文は複数の要素を集合し、単一の要素に「圧縮」します。残余引数と残余プロパティを参照してください。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 46 | 12 | 16 | 8 | 46 | 8 | |
| 配列リテラルで展開する | 46 | 12 | 16 | 8 | 46 | 8 |
| 関数呼び出しでの広がり | 46 | 12 | 27 | 8 | 46 | 8 |
| オブジェクトリテラルでのスプレッド | 60 | 79 | 55 | 11.1 | 60 | 11.3 |
基本構文
JAVASCRIPT
// Array spread
const arr = [1, 2, 3];
const copy = [...arr];
const merged = [...arr, 4, 5];
// Object spread
const obj = { a: 1, b: 2 };
const clone = { ...obj };
const updated = { ...obj, b: 3, c: 4 };
// Function arguments
Math.max(...arr); // 3 ライブデモ
Array. copi- and m-j
Spread syntax in array shallowcopi-, multiple. Array join in..
JavaScript
出力
「実行」ボタンを押してください
Object. m-j and topwrite
Object. spred in m-j.after from writeproperty that priority..
JavaScript
出力
「実行」ボタンを押してください
Function. Argument to spread
Array. Element individual. Argument and function to..
JavaScript
出力
「実行」ボタンを押してください
実務での使いどころ
-
Spread syntax の活用
スプレッド構文 (...) 構文を使うと、配列式や文字列などの反復可能オブジェクトを、0 個以上の引数(関数呼び出しの場合)や要素(配列リテラルの場合)を目的の場所に展開することができます。
注意点
- 特になし。すべての主要ブラウザで安定して動作する。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。