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
반응형
'Learn to Code' 카테고리의 다른 글
[TIL] 코드스테이츠 chatterbox (client) 과제 (ongoing) (0) | 2021.04.29 |
---|---|
[JS] 자바스크립트로 구현하는 그래프(Graph), 인접행렬(Adjacency Matrix), 인접리스트(Adjacency List) (0) | 2021.04.23 |
[JS] 클로저(Closure)란? (0) | 2021.04.10 |
[JS] 클래스(Class), 인스턴스(Instance), 정적 메소드(Static method), 그리고 서브클래스(Subclassing) (1) | 2021.04.09 |
[CSS] 개발자를 위한 가시성(visibility) 올리는 디자인 꿀팁! (두가지 컬러 조합 추천 사이트 + 크롬 개발자도구 Contrast 참고 방법) (0) | 2021.04.08 |
댓글