ES6 分割代入

分割代入について説明します。
私の理解では、オブジェクトや配列などの複数の値(変数)を、別の変数へ代入しやすくするものです。
以下に例を挙げます。

オブジェクトのプロパティに対する分割代入

let person = {
  name: 'たろう',
  age: 20,
  hobby: '将棋'
}
//変数定義する際に、存在しているプロパティであれば{ property }と記述できます
let { name } = person
let { age } = person
let { hobby } = person

console.log(name); //たろう
console.log(age); //20
console.log(hobby) // 将棋

配列に対する分割代入

const companies = [
  'google',
  'facebook',
  'microsoft',
  'apple'
]
//[ name1, name2]とすることで、name1には1要素目、name2には2要素目・・といった具合に代入できます。
const [name1, name2, name3, name4, name5] = companies;
console.log(name1)//google
console.log(name2)//facebook
console.log(name3)//microsoft
console.log(name4)//apple
console.log(name5)//存在しない要素はundefined