728x90
🌲 구조 분해 할당 (=비구조화)
🚨 객체 데이터의 속성을 구조 분해하여 각각의 변수로 사용
const user = {
name : 'kim',
age : 99,
email : 'siot@mail.com'
}
const { name, age, email, address } = user // 객체데이터의 구조분해
console.log(`사용자의 이름은 ${name}입니다.`)
console.log(`${name}의 나이는 ${age}세입니다.`)
console.log(`${name}의 나이는 ${email}세입니다.`)
console.log(address) // undefined
값이 할당되지 않았을 경우 기본값 삽입 가능
const { name, age, email, address = 'Korea' } = user
실제 데이터가 할당된 경우에는 기본값이 무시됨
const user = {
name : 'kim',
age : 99,
email : 'siot@mail.com'
address : 'USA'
}
const { name, age, email, address = 'Korea' } = user // 기본값 Korea는 무시됨
console.log(address) // USA
속성명을 변경하고 싶을 때는 새로운 변수로 재할당
// 첫 번째 방법
const siot = name
// 두 번째 방법
const { name: siot, age, email, address}
🚨 배열 데이터를 구조 분해할 땐 [대괄호]를 사용하며, 키밸류가 아닌 순서대로
const fruits = ['Appe', 'Banana', 'Cherry']
const [a, b, c, d] = fruits
console.log(a, b, c, d) // Apple Banana Cherry
필요하지 않은 변수가 있을 때는 쉼표로 구분
const fruits = ['Appe', 'Banana', 'Cherry']
const [, , ch] = fruits
console.log(ch) // Cherry
728x90
'FE' 카테고리의 다른 글
데이터 불변성과 가변성, 원시데이터와 참조형 데이터 (0) | 2021.11.13 |
---|---|
전개연산자 Spread, 아이템을 전개하는 방법 (0) | 2021.11.13 |
JS 데이터 API / Object 객체데이터 메소드 (0) | 2021.11.12 |
JS 데이터 API / Array 메소드 (0) | 2021.11.12 |
JS 데이터 API / String, Number, Math (0) | 2021.11.07 |