Open devSoyoung opened 5 years ago
배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 문법
const arr = [1, 2, 3]; const [first, second, third] = arr; console.log(first); // 1
값을 넣을 변수를 좌변에 다음과 같이 넣어주면 각 변수의 값이 우변 요소의 값에 따라 초기화 됨
const [ a = 1, b = 2, c = 3 ] = [ 5, 6 ]; console.log(a); // 5 console.log(b); // 6 console.log(c); // 3
초기값을 지정해줄 수 있으며, 좌변 우변의 배열 길이가 꼭 일치하지 않아도 됨 (남는 값은 버려지고, 모자란 값은 undefined로 채워짐)
두 변수의 값 교환을 배열 구조분해 할당을 활용하면 temp 없이 간단하게 할 수 있음
let a = 1; let b = 2; [a, b] = [b, a];
const obj = { a: 1, b: 2, c: 3 }; const { a, b, c } = obj; console.log(a); // 1 const { apple, banana, candy } = obj; console.log(apple); // undefined
객체의 경우에는 우변의 객체 속성 값과 변수의 이름이 일치해야 함. 순서를 바꿔도 이름에 맞게 값이 들어감.
배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 문법
Example
Array
값을 넣을 변수를 좌변에 다음과 같이 넣어주면 각 변수의 값이 우변 요소의 값에 따라 초기화 됨
초기값을 지정해줄 수 있으며, 좌변 우변의 배열 길이가 꼭 일치하지 않아도 됨 (남는 값은 버려지고, 모자란 값은 undefined로 채워짐)
Swapping
두 변수의 값 교환을 배열 구조분해 할당을 활용하면 temp 없이 간단하게 할 수 있음
Object
객체의 경우에는 우변의 객체 속성 값과 변수의 이름이 일치해야 함. 순서를 바꿔도 이름에 맞게 값이 들어감.
Reference