Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 웹개발
- 웹기초
- dataviewjs
- 옵시디언 dataview
- 3D모델링
- ender
- 기술이론
- 자바스크립트
- blender
- ender v3
- 개발
- 프로그래머스
- 네트워크
- It용어
- 남자피부관리
- 나이아신아마이드
- 옵시디언
- 코드스니펫
- 개발기초
- ender v3 se
- 네트워크 이론
- 옵시디언 dataviewjs
- 3d 프린터 기초
- 피부관리
- DATAVIEW
- 기술용어
- 알고리즘
- 3D프린터
- Sketcher
- 개발이론
Archives
- Today
- Total
루이의 개발 블로그
forEach에서 구조분해할당 활용하는 방법 본문
Object.entries(state.incarInputs).forEach(([key, value]) => {
validData.incar[key] = {};
if ("value" in value) {
validData.incar[key].value = value.value;
}
if ("file" in value) {
validData.incar[key].file = value.file;
}
});
해당 코드를 보면 forEach를 통해 value를 받아오고. 그 안에서 얻은 값을 가지고 value.value 와 같이 접근한다. 처음에 이 부분이 좀 마음에 들지 않았지만 달리 방법이 없다 생각하여 이대로 진행했다. 하지만 그런 생각이 들었다. 오브젝트는 구조분해할당을 활용할 수 있다. 그래서 forEach(([key, value]) 이 안에있는 value를 하나의 Obj르 인식했더니, 방법이 보이기 시작했다. value도 하나의 obj니까 구조 분해 할당으로 처리할 수 있지 않을까? 라는 생각이였다. 이 생각은 다음과 같은 결과로 이어졌다
Object.entries(state.incar.inputs).forEach(([key, { value, file }]) => {
validData.incar.inputs[key] = {};
if (value) {
validData.incar.inputs[key].value = value;
}
if (file) {
validData.incar.inputs[key].file = file;
}
});
코드는 더욱 간결해졌고, 하드코딩 요소도 사라졌다. 이 상황을 다음과 같이 이해하자.
Obj는 언제 어디서든 구조분해할당이 가능하다!
'웹개발' 카테고리의 다른 글
구조 분해 할당으로 속성을 가져오는 방법 (0) | 2024.10.31 |
---|---|
화살표 함수에서 this를 사용할 때 undefined 를 뱉을 수 있음 (0) | 2024.10.31 |