구조 분해 할당(Destructuring Assignment)?
- 배열이나 객체의 구조를 분해하여 분해된 값을 개별 변수에 담는 표현식
배열 구조 분해
- 변수를 선언하고 할당하는 과정 한 번에 가능
- one, two, three는 우변에 위치한 arr의 값을 차례대로 할당받음
const arr = [1, 2, 3, 4, 5]
const [one, two, three] = arr
console.log(one, two, three)
1 2 3
객체 구조 분해
- 객체를 할당할 때는 분해하려는 프로퍼티의 키 사용
const obj = {
x: 10,
y: 20,
z: 30
}
const { x, y, z } = obj
console.log(x, y, z)
10 20 30
변수 이름 변경
- 분해한 키에 :(콜론)을 붙이고 사용할 이름 지정
const obj = {
x: 10,
y: 20,
z: 30
}
const { x: a, y: b, z: c } = obj
console.log(a, b, c)
10 20 30
중첩된 객체의 구조 분해
const obj = {
item: {
user: {
name: 'hjkang'
}
}
}
const { item: { user: { name } } } = obj
console.log(name)
hjkang
함수 인자 구조 분해
const obj = {
name: 'hjkang',
job: 'developer',
hobby: ['game', 'baseball']
}
function print({ name, job, hobby }) {
console.log(`name: ${name} / job: ${job} / hobby: ${hobby}`)
}
print(obj)
name: hjkang / job: developer / hobby: game,baseball
'JavaScript&TypeScript' 카테고리의 다른 글
NestJS - class-validator 데코레이터 (0) | 2023.09.07 |
---|---|
NestJS - 네이밍 규칙 (0) | 2023.09.03 |
JavaScript - Object.entries를 사용하여 객체를 배열로 변환 (0) | 2023.08.24 |
NodeJS - Prisma (0) | 2023.08.16 |
JavaScript의 this (0) | 2023.06.15 |