[트러블슛팅]후위연산 가급적 사용 x

낭만개발자·2022년 8월 31일
0

알고리즘

목록 보기
12/20

문제

문제 풀면서 로직은 맞는데, 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로 하자 왠만하면..)

profile
낭만닥터와 슬의를 보고 저런 개발자가 되어야 겠다고 꿈꿔봅니다.

0개의 댓글