Javascript
JavaScript 구조 분해 할당
kwaktaem
2022. 1. 5. 16:11
구조 분해 할당
배열이나 객체의 속성을 해체하여 그 값을 변수에 담을 수 있게 하는 JavaScript 표현식이다.
출처: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
구조 분해 할당 - JavaScript | MDN
구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다.
developer.mozilla.org
예시
var candyMachine = {
status: {
name: 'node',
count: 5
},
getCandy: function () {
this.status.count--
return this.status.count
}
}
var getCandy = candyMachine.getCandy
var count = candyMachine.status.count
----------------------------------------------
const candyMachine = {
status: {
name: 'node',
count: 5
},
getCandy: function () {
this.status.count--
return this.status.count
}
}
const { getCandy, status: { count } } = candyMachine
- candyMachine부터 시작해서 속성을 찾아 들어가야함
- const { 변수 } = 객체 로 객체 안의 속성을 변수명으로 사용이 가능
- 단, getCandy() 를 실행을 했을 때는 결과가 candyMachine.getCandy와는 달라지므로 주의
- const처럼 속성 안의 속성도 변수명으로 사용 가능
(1) 배열 구조 분해 할당
let array = ['nodejs', {}, 10, true]
let node = array[0]
let obj = array[1]
let bool = array[3]
------------------------------------------
const array = ['nodejs', {}, 10, true]
const [node, obj, , bool] = array
- const [변수] = 배열 형식
- 각 배열 인덱스와 변수가 대응됨
- node는 array[0], obj = array[1], bool = array[3]