문제 풀면서 로직은 맞는데, return을 위와 같이 후위연산으로 줬더니만 결과가 0,0,0.. 으로 나옴
https://barker.codes/blog/prefix-vs-postfix-operators-in-vanilla-js/ 위 사이트에서도 나와 같은 실수를 했는데
아래 사진 처럼 return 부분에 ++count를 해버리면 +1 증감 하기 전에 return을 먼저 해버리고 그 값과 별개로 블록 범위안에 count는 증감이 된다.
결국 return 보내 버린, output count 값은 계속 0이니, 결국
? count : count
랑 같은 꼴이라 계속 값이 0인 iteration이 된다.
예시코드
return num++했음에도 위와 같은 논리로 5가 찍히거나 아래 test2()는 1이 찍힌다.
다만 아래 코드 중 number는 return값과는 달리 +1이 되어 2가 되는 걸 알수 있다.( return 과 별개로 후위연산식이 {}블록 범위에선 마지막에 계산을 시키므로.. )
(ps, for문 제외하곤 왠만하면 후위연산식 쓰지 말자. 다 전위연산하든 +1로 하자 왠만하면..)