- 다른 분들의 코드를 보다보면 '이게 왜 돼?'라는 생각이 들 때가 있다
- 이때는 내가 생각하는 실행방향과 실제 작동이 완전히 다른 경우가 많았다
- 그래서 준비했다 내가 잘못 이해하고 있던 작동방식들 '이게 돼?' 시리즈
- 위 사진에 a에는 3을 요소로 하는 길이 1의 배열을 할당하고 b에는 빈배열을 할당했다.
- a에 map을 이용하여 a와 b를 하나의 배열로 묶었다
- 결과는 [ [ 3, [] ] ] 좋아 예상했던 결과이다
- 그림(1)에서 a와 b의 위치를 바꿨을 뿐이다
- 여기서 나의 예상은 역시 [ [ [ ], [ 3 ] ] ] 그림(1)의 반대결과를 예상했지만
- 실제 작동은 [] 빈 배열이 출력된다!!
- 이번엔 새로 c라는 변수를 선언하고 직접 b와 a를 묶었다
- 결과는 예상대로 나왔다
MDN을 찾아본 결과 map의 콜백함수는 배열의 값이 들어 있는 경우에만 ('undefined' 포함) 작동한다고 한다!
그림(2)에서 빈 배열이 나온 이유는 b가 빈 배열이기 때문에 map의 콜백함수자체가 호출되지 않았기 때문이다.
'학습' 카테고리의 다른 글
REST API (0) | 2021.09.04 |
---|---|
마크다운 작성법 (0) | 2021.09.04 |
create-react-app (0) | 2021.08.29 |
자료구조 (1) | 2021.08.28 |
재귀함수(feat.순열) (0) | 2021.08.24 |