본문 바로가기
Front end/JavaScript

[JavaScript] 구조분해 할당

by re-hwi 2024. 11. 7.

구조 분해 할당

구조분해 할당이란 배열 혹은 객체의 속성을 개별 변수에 담을 수 있도록 하는 표현식이다. 가끔 배열의 일부분만 필요한 경우가 있는데 이럴 때 여러 방법이 있지만 구조 분해 할당을 사용하면 매우 쉽게 값을 가져올 수 있다. 

 

배열 분해

변수를 좌항, 분해하고자 하는 배열을 우항에 놓고 분해한다. 이 때, 배열의 순서를 맞추어야 한다. 

const fruits = ['apple', 'banana', 'cherry'];

// 배열 요소를 변수에 할당
const [first, second, third] = fruits;

console.log(first);  // "apple"
console.log(second); // "banana"
console.log(third);  // "cherry"

기본값 지정

const colors = ['red'];

// 없는 값에 기본값 설정
const [primary, secondary = 'blue'] = colors;

console.log(primary);   // "red"
console.log(secondary); // "blue" (기본값)

이렇게 쉽게 요소에 접근할 수 있다. 또, 만약 배열에 해당 값이 존재하지 않다면 undefined 가 출력되고, 기본값을 지정해 주었다면 해당 값이 나오게 된다. 

 

객체 분해

배열 분해와 마찬가지로 사용한다. 단 대괄호가 아닌 중괄호를 사용한다. 키 이름으로 변수를 생성할 때에는 아래와 같이 사용할 수 있다.

const user = {
  name: 'Alice',
  age: 25,
};

// 객체의 키를 변수에 할당
const { name, age } = user;

console.log(name); // "Alice"
console.log(age);  // 25

 

다른 변수 이름으로 할당

키 이름이 아닌 다른 이름의 변수에 속성값을 할당할 때에는 다음과 같이 사용할 수 있다.

const book = {
  title: 'JavaScript Essentials',
  author: 'John Doe',
};

// 다른 변수 이름으로 할당
const { title: bookTitle, author: bookAuthor } = book;

console.log(bookTitle);  // "JavaScript Essentials"
console.log(bookAuthor); // "John Doe"

 

반응형

'Front end > JavaScript' 카테고리의 다른 글

[JavaScript] 가비지 컬렉션  (1) 2024.11.09
[JavaScript] 얕은복사 vs 깊은복사 feat. 참조복사  (0) 2024.11.08
[JavaScript] for in과 for of  (0) 2024.11.05
포켓몬 MBTI Test 만들기  (0) 2023.05.12
Weather site 만들기  (2) 2023.03.19

댓글