증가/감소(++/--) 연산자는 피연산자를 기준으로 위치에 따라 그 의미가 약간 달라진다.
전위 연산자
- 증가/감소(++/--) 연산자가 피연산자의 앞에 있으면 이를 전위 연산자 라고 한다.
- 이 경우 피 연산자의 값을 먼저 증가/감소 시킨 뒤 다른 연산을 수행한다.
let x = 5, result;
//선증가 후할당
result = ++x; //result == 6, x == 6;
//선감소 후할당
result = --x; //result == 5, x == 5;
- 위 예시에서는 x앞의 전위 증가 연산자(++)가
x = x+1
로 증가시켰고, 이 결과값을 result에 할당시켜 두 변수 모두 6의 값을 갖게 되었다. (감소도 마찬가지)
후위 연산자
- 전위 연산자와 반대로, 먼저 다른 연산을 수행한 후 피연산자의 값을 증가/감소시킨다.
let x = 5, result;
//선할당 후증가
result = x++; //result == 5, x == 6;
//선할당 후감소
result = --x; //result == 6, x == 5;
- 위 예시에서는 먼저 result 변수에 x의 값인 5가 할당되었고, 그 뒤 x++을 연산해 x는 6이 되었다.
알고리즘을 풀다가 이 개념이 나왔는데, 쉬운 것 같지만 약간 헷갈려서 정확하게 하고자 정리해본다.
참고자료
- 모던 자바스크립트 Deep Dive 76p (http://www.yes24.com/Product/Goods/92742567)
'JavaScript > JavaScript' 카테고리의 다른 글
[JavaScript] 호이스팅 & TDZ (0) | 2022.04.12 |
---|---|
[JavaScript] 비트 연산 Bit Operation (0) | 2022.03.20 |
[JS]2021-1115 자바스크립트 .createElement() & .appendChild - HTML 요소 추가하기 (0) | 2021.11.15 |
[JS]2021-1114 자바스크립트 Math - Random number 랜덤 숫자 생성 /반올림, 올림, 버림 (0) | 2021.11.14 |
[JS]2021-1114 padStart() - 문자열 시작 채우기(문자열을 채워 원하는 길이로 만들기)/ String() - 숫자를 문자열로 바꾸기 (0) | 2021.11.14 |