객체 분해 할당(Destructuring assignment)

2025. 2. 26. 17:10·Script
객체 분해 할당에 대해서 공부하던 중에 Gemini 에게 물어보고 받은 답변입니다.

 

객체 분해 할당(Destructuring assignment)은 객체나 배열의 속성을 개별 변수에 쉽게 할당할 수 있도록 하는 JavaScript의 강력한 기능입니다. 복잡한 객체에서 필요한 값만 추출하여 사용하는 코드를 간결하고 가독성 좋게 만들어줍니다.

 

1. 객체 분해 할당 기본 사용법

const person = {
  name: '홍길동',
  age: 30,
  job: '개발자',
};

// 객체 분해 할당
const { name, age, job } = person;

console.log(name); // 출력: 홍길동
console.log(age); // 출력: 30
console.log(job); // 출력: 개발자
  • const { name, age, job } = person; 이 부분이 객체 분해 할당입니다.
  • person 객체의 name, age, job 속성 값을 각각 name, age, job 변수에 할당합니다.

 

2. 변수 이름 변경

객체 속성 이름과 다른 변수 이름을 사용하고 싶을 때는 다음과 같이 합니다.

const person = {
  name: '홍길동',
  age: 30,
};

const { name: userName, age: userAge } = person;

console.log(userName); // 출력: 홍길동
console.log(userAge); // 출력: 30
  • name: userName은 person 객체의 name 속성 값을 userName 변수에 할당합니다

 

3. 기본값 설정

객체에 해당 속성이 없을 경우 기본값을 설정할 수 있습니다.

const person = {
  name: '홍길동',
  age: 30,
};

const { name, age, job = '학생' } = person;

console.log(job); // 출력: 학생
  • person 객체에 job 속성이 없으므로 job 변수에 기본값 '학생'이 할당됩니다.

 

4. 중첩된 객체 분해 할당

중첩된 객체에서도 분해 할당을 사용할 수 있습니다.

const person = {
  name: '홍길동',
  age: 30,
  address: {
    city: '서울',
    country: '한국',
  },
};

const { name, address: { city, country } } = person;

console.log(name); // 출력: 홍길동
console.log(city); // 출력: 서울
console.log(country); // 출력: 한국
  • address: { city, country }는 person 객체의 address 속성 내부의 city와 country 속성을 분해하여 변수에 할당합니다.

 

5. 배열 분해 할당

배열에서도 객체 분해 할당과 유사하게 사용할 수 있습니다.

const numbers = [1, 2, 3, 4, 5];

const [first, second, , fourth] = numbers;

console.log(first); // 출력: 1
console.log(second); // 출력: 2
console.log(fourth); // 출력: 4
  • 쉼표를 사용하여 필요하지 않은 배열 요소는 건너뛸 수 있습니다.

 

6. 객체 분해 할당의 장점

  • 코드 간결성: 객체 속성을 변수에 할당하는 코드를 간결하게 작성할 수 있습니다.
  • 가독성 향상: 코드의 의도를 명확하게 드러내어 가독성을 높입니다.
  • 유지보수성 향상: 코드 변경 시 필요한 부분만 수정하면 되므로 유지보수성이 향상됩니다.

객체 분해 할당은 JavaScript 개발에서 매우 유용한 기능이므로 적극적으로 활용하는 것을 추천합니다.

 

저작자표시 (새창열림)

'Script' 카테고리의 다른 글

localeCompare 에 대한 설명  (1) 2025.05.02
배열을 활용하는 ES6 기술  (0) 2025.03.13
script 에서 import 시 { } 로 싸는 경우와 아닌 경우에 대해서  (0) 2025.02.26
'Script' 카테고리의 다른 글
  • localeCompare 에 대한 설명
  • 배열을 활용하는 ES6 기술
  • script 에서 import 시 { } 로 싸는 경우와 아닌 경우에 대해서
크레비즈
크레비즈
  • 크레비즈
    크레비즈 커뮤니티
    크레비즈
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • Front-end (14)
      • Back-end (7)
      • Python (11)
      • AI 공부 (7)
      • Mobile (4)
      • Script (4)
      • 인프라 (5)
      • 참고할 내용 (12)
      • reference page (0)
      • Project (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • Spring: the source for modern java
  • 공지사항

    • 크레비즈 커뮤니티
  • 인기 글

  • 태그

    토큰
    ChatGPT
    CNN
    vuejs
    claude sonnet
    fastapi
    claude 3.7 sonnet
    vue
    Access Token
    Gemini
    PYTHON
    딥러닝
    windsurf
    Refresh Token
    Claude
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
크레비즈
객체 분해 할당(Destructuring assignment)
상단으로

티스토리툴바