증감 연산자 (Increment & Decrement Operators)
변수에 적용할 수 있는 연산자 중 하나로, 복합대입연산자를 더(또?) 간략하게 사용한 형태이다
증감 연산자 | 설명 |
변수++ | 기존의 변수 값에 1을 더합니다(후위) |
++변수 | 기존의 변수 값에 1을 더합니다(전위) |
변수-- | 기존의 변수 값에 1을 뺍니다(후위) |
--변수 | 기존의 변수 값에 1을 뺍니다(전위) |
아래 세 형태는 다 같은 의미이다.
- a = a + 1
- a += 1 (복합 대입 연산자)
- a++ (증감 연산자)
a++ 와 ++a, 뭐가 다른데?
직접 실행하면서 이해해보자.
//변수를 선언한다
let a = 10;
//출력해보자
console.log(a++);
이때에는 a++나 ++a 둘 다 결과가 같은데, 이렇게 한 줄에 독립적으로 사용할 때는 그 차이를 알 수 없다.
차이는 다른 연산자와 함수와 함께 사용할 때 알 수 있다.
a++(후위연산자를 사용했을 때)
//변수를 선언한다
let a = 10;
//출력해보자
console.log(a++);
console.log(a++);
console.log(a++);
코드를 실행하면 순서대로 10, 11, 12가 출력된다. 후위(postfix)란 해당 문장을 실행한 후 값을 더하라는 의미이다.
그래서 먼저 a를 실행한 후(10) 1을 더해주고
다시 a를 실행한 후(11) 1을 더해주고
다시 a를 실행한 후(12) >> 여기까지만 콘솔에 출력되고, 그 다음 1을 더해준건 출력되지 않았다.
콘솔에 출력되진 않았지만 a의 현재값은 12가 출력되고 1이 더해진 13이라는것을 알 수 있다.
//변수를 선언한다
let a = 10;
//출력해보자
console.log(a++);
console.log(a++);
console.log(a++);
console.log(a);
++a(전위 연산자를 사용했을 때)
//변수를 선언한다
let a = 10;
//출력해보자
console.log(++a);
console.log(++a);
console.log(++a);
전위(prefix)는 반대로 해당 문장을 실행하기 전에 값을 더하는 것이다.
먼저 10에 1을 더해준 후 실행되었으니 11,
또 1을 더해준 후 실행해서 12,
또 1을 더해준 후 실행해서 13이 되는 것이다.
'Front-End Developer > JavaScript' 카테고리의 다른 글
DOM이란 무엇인가 (0) | 2022.05.13 |
---|---|
JS 이벤트 플로우 완벽이해 (0) | 2022.05.13 |
new Date() 란? (0) | 2022.05.11 |
if 조건문 사용해서 홀수,짝수 구해보기 (0) | 2022.05.09 |
html 안에 <script> 파일을 어디에 넣어야 할까? (0) | 2022.04.29 |