1. 간단한 array 할당
const arr = [1,2,3];
const [a,b,c] = [...arr]; // a:1, b:2, c:3
2. 파라미터에 할당하는데, 빈자리 끼워맞추기식
const object = { a: 1 };
function print({ a, b = 2 }) {
console.log(a,b);
}
print(object); // a:1 b:2
3. react에서 state 사용시
const {value, setValue} = useState(0);
-> useState는 [state, setState]를 반환한다. 따라서 비구조화할당으로 함수형 컴포넌트에서 class컴포넌트에서의 setState를 구현함
*실수했던 내용
const obj = {
name : 'taewan',
old : 29
}
const nickName = "부디";
const {name : nickName} = obj;
-> 비구조화 할당은 변수선언과 동시에 변수값에 할당하는 형식임.
nickName을 선언하고 그뒤에 똑같이 비구조화할당을 시도해서 nickName은 이미 선언된 변수라는 에러가 뜬다
4. 깊숙한 곳의 객체값을 꺼내기
const deepObject = {
state: {
information: {
name: 'velopert',
languages: ['korean', 'english', 'chinese']
}
},
value: 5
};
const { name, languages } = deepObject.state.information;
const { value } = deepObject;
const extracted = {
name,
languages,
value
};
console.log(extracted); // {name: "velopert", languages: Array[3], value: 5}
여기서 extracted부분은 아래와 같은내용임.
const extracted = {
name: name,
languages: languages,
value: value
}
또한 위에서처럼 비구조화할당을 여러번 하지않고 한번만으로 다 꺼내는방법도 있는데, 비구조화할당을 엄청 많이 해야하는구조일때 쓰면 좋을듯 (그런 경우가 있을까..?)
const deepObject = {
state: {
information: {
name: 'velopert',
languages: ['korean', 'english', 'chinese']
}
},
value: 5
};
const {
state: {
information: { name, languages }
},
value
} = deepObject;
const extracted = {
name,
languages,
value
};
console.log(extracted);
'FrontEnd' 카테고리의 다른 글
Git ... 그놈의 깃.. (0) | 2021.02.07 |
---|---|
Module 및 Webpack 설정방법 (0) | 2020.08.04 |