개발자의 공부방/Frontend

javascript] 비구조화 할당

  • -
728x90
반응형

비구조화 할당에 대해서 알아보겠다.


비구조화할당에서 기본 값을 지정하는 방법.

const object = { a: 1, b: 2} const {a, b} = object; console.log(a); console.log(b); console.log("==============================") function print({a, b}) { console.log(a) console.log(b) } print(object)

 

객체를 비구조화할당하는 방법이다.

name을 꺼내와서 사용해도되지만 {name : nickname} 같이 nickname이라는 명칭으로 사용이 가능하다.

const animal = { name : '멍멍이', type : '개' } //const nickname = animal.name const {name : nickname} = animal; console.log(nickname); console.log(animal)

 

이번에는 배열에서 비구조화할당을 알아보자.

배열에 1, 2가 있을 때 각각 꺼내려면 아래와 같이 사용하는게 일반적이지만

이를 비구조화할당을 사용하면 아래와 같이 변경이 가능하다.

const array = [1, 2]; //일반적인 사용 예시 const one = array[0]; const two = array[1]; console.log(one) console.log(two) console.log('=============') //비구조화 할당 예시 const [oen, two] = array; console.log(one) console.log(two)

 

그리고 배열에도 기본값을 설정할 수 있다.

const array = [1]; //비구조화하면서 기본값을 설정 const [oen, two = 2] = array; console.log(one) console.log(two)

 

다음은 객체에 깊숙히 담겨있는 값을 꺼내는 방법을 알아본다.

const deepObject = { state : { information: { name: '최하준', languages: ['korean', 'english', 'chinese'] } }, value: 5 }

위의 객체에서 값을 꺼내오는 방법은 보통 두가지로 예를 들 수 있다.

 

첫번째는 비구조할당을 두번 사용하는 것이다.

const deepObject = { state : { information: { name: '최하준', languages: ['korean', 'english', 'chinese'] } }, value: 5 } const { name, languages} = deepObject.state.informaion; const { value } = deepObject; const extracted = { name, languages, value } //extracted 안에는 원래 name: name, languages: languages... 이렇게 선언해야하지만, //특정 키 이름으로 선언된 값이 있다면 value값을 설정하는 것을 생략해도 된다. consoloe.log(extracted)

 

두번째 방법은 비구조할당을 한번하면서 다 빼오는 방법이다.

const deepObject = { state : { information: { name: '최하준', languages: ['korean', 'english', 'chinese'] } }, value: 5 } const { state: { information: { name, languages //languages는 배열이라서 특정키 값으로 빼올 수도 있다. //languages[firstLang, secondLang] } }, value } = deepObject; const extracted = { name, languages, //firstLang, //secondLang value } consoloe.log(extracted)
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.