• 다른 분들의 코드를 보다보면 '이게 왜 돼?'라는 생각이 들 때가 있다
  • 이때는 내가 생각하는 실행방향과 실제 작동이 완전히 다른 경우가 많았다 
  • 그래서 준비했다 내가 잘못 이해하고 있던 작동방식들 '이게 돼?' 시리즈

 

 

 

 

그림 (1)

  • 위 사진에 a에는 3을 요소로 하는 길이 1의 배열을 할당하고 b에는 빈배열을 할당했다.
  • a에 map을 이용하여 a와 b를 하나의 배열로 묶었다 
  • 결과는 [ [ 3, [] ] ] 좋아 예상했던 결과이다 

 

 

 

 

그림 (2)

  • 그림(1)에서 a와 b의 위치를 바꿨을 뿐이다 
  • 여기서 나의 예상은 역시 [ [ [ ], [ 3 ] ] ]  그림(1)의 반대결과를 예상했지만
  • 실제 작동은 [] 빈 배열이 출력된다!! 

 

 

 

 

그림 (3)

  • 이번엔 새로 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