tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

【Typescript】分割代入

オブジェクトのプロパティを簡単に変数に代入することができる。
変数に独自に型を与えることはできない。もともとのオブジェクトが持つ型が適用される。

const car = {
  price: 500,
  color: "red"
}

{ price, color } = car

console.log(price) // 500
console.log(color) // "red"

変数名とプロパティ名を変える

// プロパティ名: 変数
{ price: value, color: iro } = car

console.log(value) // 500
console.log(iro) // "red"

ネスト

const car = {
  price: 500,
  parts: {
    engine: "Toyota"
  }
}

{ price, parts: { engine } } = car

console.log(price) // 500
console.log(engine) // "Toyota"

デフォルト値
プロパティの値がundefinedの時のみ代入される

const car = {
  color: "red"
}

{ color, price = 500 } = car 
console.log(price) // 500

restパターン
残りをまとめてオブジェクト化する

const car = {
  price: 500,
  color :"red",
  window: "asahi"
}

{ price, ...obj} = car

console.log(price) // 500
console.log(obj)    // { color :"red", window: "asahi" }