목차
1. 배열 디스트럭처링 (Array destructuring)
2. 객체 디스트럭처링 (Object destructuring)
디스트럭처링이란 구조화된 배열 또는 객체를 Destructuring(비구조화, 파괴)하여 개별적인 변수에 할당하는 것이다. 배열 또는 객체 리터럴에서 필요한 값만을 추출하여 변수에 할당하거나 변환할 때 유용하다.
1. 배열 디스트럭처링 (Array destructuring)
ES6의 배열 디스트럭처링은 배열의 각 요소를 배열로부터 추출하여 변수 리스트에 할당한다.
이때 추출/할당 기준은 배열의 인덱스이다.
// ES6 Destructuring
const arr = [1, 2, 3];
// 배열의 인덱스를 기준으로 배열로부터 요소를 추출하여 변수에 할당
// 변수 one, two, three가 선언되고 arr(initializer(초기화자))가 Destructuring(비구조화, 파괴)되어 할당된다.
const [one, two, three] = arr;
// 디스트럭처링을 사용할 때는 반드시 initializer(초기화자)를 할당해야 한다.
// const [one, two, three]; // SyntaxError: Missing initializer in destructuring declaration
console.log(one, two, three); // 1 2 3
배열 디스트럭처링을 위해서는 할당 연산자 왼쪽에 배열 형태의 변수 리스트가 필요하다.
let x, y
[x, y] = [1, 2];
console.log(x, y); // 1 2
2. 객체 디스트럭처링 (Object destructuring)
ES6의 객체 디스트럭처링은 객체의 각 프로퍼티를 객체로부터 추출하여 변수 리스트에 할당한다.
이때 할당 기준은 프로퍼티 이름(키)이다.
// ES6 Destructuring
const obj = { firstName: 'Ungmo', lastName: 'Lee' };
// 프로퍼티 키를 기준으로 디스트럭처링 할당이 이루어진다. 순서는 의미가 없다.
// 변수 lastName, firstName가 선언되고 obj(initializer(초기화자))가 Destructuring(비구조화, 파괴)되어 할당된다.
const { lastName, firstName } = obj;
console.log(firstName, lastName); // Ungmo Lee
'Language > JavaScript' 카테고리의 다른 글
[Javascript] Set과 Map (0) | 2022.07.22 |
---|---|
[Javascript] The spread opertor 스프레드 연산자(...) (0) | 2022.07.18 |
[Javascript] Object.assign (0) | 2022.07.13 |
[Javascript] 호이스팅 (Hoisting) 이란? (0) | 2022.07.13 |
[Javascript] scope, scope chain (0) | 2022.07.08 |