JS-拡張演算子とrestパラメータ

867 ワード

spread syntaxは、array、stringなどのiteratorオブジェクトを展開し、関数呼び出しなどのパラメータや数組の字面量などの要素が必要な場所で展開できます.key-valueが必要な場所でオブジェクト式を展開することもできます.rest parametersは、付与操作で残りのパラメータを収集します.
拡張演算子
コードの例:
Math.max(...[14, 3, 77])

let obj1 = { a:'1', b:'2'};
let obj2 = { c:'3', ...obj1 };      // {c: "3", a: "1", b: "2"}

let arr1 = [1,2,3];
let obj1 = { a: 'a', ...arr1 };    // {0: 1, 1: 2, 2: 3, a: "a"}

let obj2 = { a: 'a', b: 'b'};
let arr2 = [1, 2, 3, ...obj2];      //   ,     iterator   

restパラメータ
コードの例:
function add(...values) {
}
add(2, 5, 3) // 10
const [first, ...rest] = [1, 2, 3, 4, 5];
rest  // [2, 3, 4, 5]
let { a, ...remain } = { a:'a', b:'b', c:'c' };