💡 구조 분해 할당 구문은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게하는 표현식
let [x, y] = [1, 2];
console.log(x); // 1
console.log(y); // 2
let users = [‘Tom’, ‘Jemmy’, ‘Lyan’];
let [user1, user2, user3] = users
let user1 = ‘Tom’;
let user2 = ‘Jemmy’;
let user3 = ‘Lyan’;
let str = ‘Tom-Jemmy-Lyan’;
let [user1, user2, user3] = str.split(‘-‘);
console.log(user1); // Tom
console.log(user2); // Jemmy
console.log(user3); // Lyan
str.split(‘-‘)
= [’Tom’, ‘Jemmy’, ‘Lyan’]
let [a, b, c] = [1, 2];
let [a, b, c = 5] = [1, 2];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 5
let [user1, ,user2] = [‘Tom’, ‘Jemmy’, ‘Lyan’, ‘Jane’];
console.log(user1); // Tom
console.log(user2); // Lyan
user1
에는 첫 번째 요소인 Tom
이 할당된다.공백
은 무시된다.user2
에는 세 번째 요소인 Jemmy
가 할당된다.let a = 1;
let b = 2;
let a = 1;
let b = 2;
// c에 a를 복사
let c = a;
// a에 b를 할당
a = b;
// b에 a가 복사된 c를 할당
b = c;
console.log(a); // 2
console.log(b); // 1
굉장히 복잡하다
// 배열 구조 분해 바꿔치기는 간단하다.
let [a, b] = [1, 2];
[a, b] = [b, a];
console.log(a); // 2
console.log(b); // 1
let user = { name: ‘Tom’, age: 10 };
let { name, age } = user;
console.log(name); // ‘Tom’
console.log(age); // 10
let user = { name: ‘Tom’, age: 10 }
let name = user.name;
let age = user.age;
let user = { name: ‘Tom’, age: 10 }
let { age, name } = user;
console.log(name); // ‘Tom’
console.log(age); // 10
let user = { name: ‘철수‘, age: 30 };
let { name: userName, age: userAge } = user;
console.log(userName); // ’철수‘
console.log(userAge); // 30
let user = { name: ‘철수’, age: 30 };
let { name, age, gender } = user;
console.log(gender); // undefined
let user = { name: ‘철수’, age: 30 };
let { name, age, gender = ‘male’ } = user;
console.log(gender); // ‘male’
male
을 할당하였다.