본문 바로가기
Learn to Code

[JS] num++과 ++num의 차이

by CEOSEO 2021. 4. 10.
728x90
반응형

 

 

코드들을 들여다보다가, 우연히 이와 같은 것을 발견했다:

 

let num = 0
return ++num

 

내가 배운 increment, decrement는 항상 변수 뒤에 붙었던 것이어서, 앞에 쓰면 뭐가 다른지 찾아보았다.

 

우선 결론부터 말하자면, num++와 ++num은 동일한 효과를 가진다. 둘다 변수에 1을 더하는 일을 한다.

let num = 0

num++

console.log(num) // 1

 

let num = 0

++num

console.log(num) // 1

 

 

 

 

 

하지만 다른 점은, 그들의 리턴값에 있다. num++ 같은 경우, increment를 한 이후의 결과값을 리턴한다. 반면 ++num은 increment 하기 이전 값을 리턴한다.

 

let num1 = 0
console.log(num1++) // 0
console.log(num1) // 1

let num2 = 0
console.log(++num2) // 1
console.log(num2) //1

 

 

그렇다면 num++와 ++num 중 어떤 것을 사용해야 할까? 아마 개발자의 선택에 달렸을 것이다. 어쨌든 결과물은 앞에 쓰나 뒤에 쓰나 똑같기 때문에, 별 영향이 없다. 다만, 만약 increment 및 decrement한 값을 그대로 리턴해야하는 경우가 생긴다면, 원하는 결과물이 기존 변수에 1이 더해진 것부터 원하는 것인지 아니면 기존 변수 값을 그대로 원하는 것인지에 따라 ++num 또는 num++을 사용하면 될 것 같다.

 

728x90
반응형

댓글