割り当て構造分解[JS]


ぶんかいアレイこうぞう

let [x, y] = [1, 2];
console.log(x);
console.log(y);

let users = ['hyunsoo', 'heeni', 'jk'];
let [user1, user2, user3] = users;

let str = "Hyunsoo Heeni JK";
let [users] = str.split(" ");
1.デフォルトの設定
let [a, b, c] = [1, 2];

let [a=10, b=20, c=30] = [1, 2];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 30
3.戻り値を無視
let [user1, , user2] = ['Hyunsoo', 'Heeni', 'JK', 'Suhee'];

console.log(user1); // 'Hyunsoo'
console.log(user2); // 'JK'
3.交換
let a = 1;
let b = 2;

[a, b] = [b, a];

オブジェクト構造の分解

let user = {
  name: 'JK',
  age: 25,
}

let { name, age } = user;
// let name = user.name;
// let age = user.age;

console.log(name); // 'JK'
console.log(age); // 25
1.新しい変数名として割り当てることができる
let {name:userName, age:userAge} = user;

console.log(userName); // 'JK'
console.log(userAge); // 25
2.デフォルトの設定
let user = {
  name: 'JK',
  age: 25,
};

// gender 이 undefined 일때만 기본 값이 사용됨
// 만약 위 user 객체에 gender:'male' 값이 들어가 있다면 기본값이 사용되지 않음
let {name, age, gender = 'female'} = user;
console.log(gender); // 'male'