Javascript의 디스트럭처링(Destructuring)

자바스크립트의 디스트럭처링은 객체와 배열에 적용이 가능한데요. 디스트럭처링은 객체와 배열을 구성하는 개별 요소를 독립적인 상수나 변수에 저장하는 방법입니다.

먼저 객체에 대한 디스트럭처링 예제는 다음과 같습니다.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
const Dip2K = {
name: "김형준",
company: {
name: "GEOSERVICE",
contacts: {
address: "에이펙센터 208",
telephone: "02-525-0421"
}
}
}
const { name } = Dip2K
console.log(name) // 김형준
const { address, telephone } = Dip2K.company.contacts
console.log(address, telephone) // 에이펙센터 208 02-525-0421
const { name: companyName} = Dip2K.company
console.log(companyName) // GEOSERVICE
const { alias = "닌자" } = Dip2K.company
console.log(alias) // 닌자
const Dip2K = { name: "김형준", company: { name: "GEOSERVICE", contacts: { address: "에이펙센터 208", telephone: "02-525-0421" } } } const { name } = Dip2K console.log(name) // 김형준 const { address, telephone } = Dip2K.company.contacts console.log(address, telephone) // 에이펙센터 208 02-525-0421 const { name: companyName} = Dip2K.company console.log(companyName) // GEOSERVICE const { alias = "닌자" } = Dip2K.company console.log(alias) // 닌자
const Dip2K = {
    name: "김형준",
    company: {
        name: "GEOSERVICE",
        contacts: {
            address: "에이펙센터 208",
            telephone: "02-525-0421"
        }
    }
}

const { name } = Dip2K
console.log(name) // 김형준

const { address, telephone } = Dip2K.company.contacts
console.log(address, telephone) // 에이펙센터 208 02-525-0421

const { name: companyName} = Dip2K.company
console.log(companyName) // GEOSERVICE

const { alias = "닌자" } = Dip2K.company
console.log(alias) // 닌자

다음은 배열에 대한 디스트럭처링 예제입니다.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
const Dip2K = [ "김형준", "지오서비스", "hjkim@geoservice.co.kr" ]
const [name, company, email] = Dip2K
//console.log(name, company, email) // 김형준 지오서비스 hjkim@geoservice.co.kr
const [name2, company2 ] = Dip2K
//console.log(name2, company2) // 김형준 지오서비스
const [name3, ...others] = Dip2K
console.log(name3, others) // 김형준 (2) ['지오서비스', 'hjkim@geoservice.co.kr']
const Dip2K = [ "김형준", "지오서비스", "hjkim@geoservice.co.kr" ] const [name, company, email] = Dip2K //console.log(name, company, email) // 김형준 지오서비스 hjkim@geoservice.co.kr const [name2, company2 ] = Dip2K //console.log(name2, company2) // 김형준 지오서비스 const [name3, ...others] = Dip2K console.log(name3, others) // 김형준 (2) ['지오서비스', 'hjkim@geoservice.co.kr']
const Dip2K = [ "김형준", "지오서비스", "hjkim@geoservice.co.kr" ]

const [name, company, email] = Dip2K
//console.log(name, company, email) // 김형준 지오서비스 hjkim@geoservice.co.kr

const [name2, company2 ] = Dip2K
//console.log(name2, company2) // 김형준 지오서비스

const [name3, ...others] = Dip2K 
console.log(name3, others) // 김형준 (2) ['지오서비스', 'hjkim@geoservice.co.kr']

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다