구조분해 할당 ( Destructuring assignment )
배열이나 객체의 속성을 해체해 그 값을 개별변수에 담는 것
JavaScript에서 많이 쓰이는 자료구조인 배열과 객체를 편하게 사용하기 위함
즉, 객체나 배열에 저장된 데이터의 일부를 가져오고 싶을 때 주로 사용
배열의 구조 분해 할당
const arr5 = ['tomato', 'kiwi', 'banana'];
const [tomato, kiwi, banana, orange = "orange"] = arr5;
console.log(tomato);
let x=1, y=3;
[x, y] = [y, x]
console.log(x,y); // x = 3, y = 1
- arr[0], arr[1] 처럼 접근하는 것이 아닌 각각의 배열 요소를 변수의 이름 으로 접근하기 위해서 사용
- 변수를 선언한 순서대로 배열의 요소가 값으로 할당됨
- 구조분해 시 변수의 값이 undefined 일 때 기본값 할당 가능
- 구조분해 없이 두 변수의 값 교환도 가능
오브젝트(객체)의 구조 분해 할당
const obj = {
title: '제목',
content: '내용',
num: 0,
};
const { title : newtitle, num, content, operation = 'three' } = obj
//const title = obj.title;
//const num = obj.num;
//const content = obj.content;
console.log(content); //'내용
- 객체의 속성값을 key로 접근하는 것이 아닌 변수로 접근하기 위해서 사용
- 변수 선언 순서에 따라서 값이 할당되는 것이 아닌 key의 이름에 따라서 변수에 값이 할당됨
- 객체 안의 속성을 변수명으로 사용gkau, 콜론을 이용해 원래 값을 다른 변수에 할당할 수도 있음
'국비지원 공부 정리 > JavaScript' 카테고리의 다른 글
javascript에서의 클래스와 상속 (0) | 2025.03.20 |
---|---|
spread(전개) vs rest(함수에서 남는값을 배열로) (0) | 2025.03.20 |
JavaScript 정리 - DOM (0) | 2025.03.19 |
JavaScript의 표준 객체(Date, Math) (0) | 2025.03.19 |
JavaScript에서의 for문, filter(조건 만족하는 값 빼내기) (0) | 2025.03.19 |