分割代入について

分割代入

配列やオブジェクトの中身を別の変数へ分割して代入する仕組み

配列の分割代入

const input = [1, 2];
const [first, second] = input;
console.log(first);  // 1を出力
console.log(second); // 2を出力
let [first, ...rest] = [1, 2, 3, 4];
console.log(first); // 1 を出力
console.log(rest);  // [ 2, 3, 4 ] を出力

オブジェクトの分割代入

let o = {
    a: "foo",
    b: 12,
    c: "bar"
}
let {a, b} = o;
console.log(a); // fooを出力
console.log(b); // 12を出力
let o = {
    a: "foo",
    b: 12,
    c: "bar"
}
let { a: newParam, ...other } = o;
console.log(newParam); // fooを出力
console.log(other.b); // 12を出力
console.log(other.c); // barを出力
デフォルト値
function keepWholeObject(wholeObject: {a: string, b?: number}) {
    let {a, b = 1001} = wholeObject;
}