(Javascript) 디스트럭처링
디스트럭처링
디스트럭처링에 대해 공부해보자.
디스트럭처링이란
디스트럭처링(Destructing)은 배열이나 오브젝트의 요소들을 한 번에 변수에 할당할 수 있도록하는 기능이다.
예제로 살펴보자.
let one, two, three
[one, two, three] = [1, 2, 3]
console.log(one) // 1
console.log(two) // 2
console.log(three) // 3
위와 같이 배열 [1, 2, 3]을 분할하여 one
, two
, three
변수에 할당하였다. 그 결과 one
은 1, two
는 2, three
는 3이란 값을 할당받게 되었다.
배열 디스트럭처링
배열을 디스트럭처링하면 오른쪽 배열의 요소를 분할하여 왼쪽 변수에 할당한다.
몇가지 예제로 살펴보자.
let one, two, three, four
[one, two, three, four] = [1, 2, 3, 4]
console.log('one:',one, 'two:',two, 'three:',three , 'four:',four)
// one: 1 two: 2 three: 3 four: 4
let one, two, three, four
[one, two, three, four] = [1, 2, 3]
console.log('one:',one, 'two:',two, 'three:',three , 'four:',four)
// one: 1 two: 2 three: 3 four: undefined
let one, two, three, four
[one, two, [three, four]] = [1, 2, [3, 4]]
console.log('one:',one, 'two:',two, 'three:',three , 'four:',four)
// one: 1 two: 2 three: 3 four: 4
아래처럼 변수 이름을 생략하고 콤마를 작성하여 해당 인덱스를 건너뛰고 다음 변수로 이동할 수 있다.
let one, two, three, four
[one, , , four] = [1, 2, 3, 4]
console.log('one:',one, 'four:',four)
// one: 1 four: 4
오브젝트 디스트럭처링
오브젝트를 디스트럭처링할때는 오른쪽 오브젝트를 분할하여 같은 이름의 키를 가진 왼쪽 변수에 값을 할당한다.
예제로 살펴보자.
let {one, two} = {one: 1, two: 2}
console.log('one:',one, 'two:',two)
// one: 1 two: 2
사전에 선언된 변수를 사용하고 싶을때는 소괄호 내부에 디스트럭처링 코드를 작성한다.
let one, two
({one, two} = {one:1, two:2})
console.log('one:',one, 'two:',two)
// one: 1 two: 2