[JavaScript] 증감 연산자(increment and decrement operator)

2022. 6. 30. 02:27·Language/JavaScript
728x90

증감 연산자(increment and decrement operator)

증감 연산자는 피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자다.

이 연산자는 피연산자가 단 하나뿐인 단항 연산자다.

 

증감 연산자는 해당 연산자가 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서 및 결과가 달라진다.

증감 연산자 설명
++x 먼저 피연산자의 값을 1 증가시킨 후에 해당 연산을 진행함.
x++ 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가시킴.
--x 먼저 피연산자의 값을 1 감소시킨 후에 해당 연산을 진행함.
x-- 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 감소시킴.
var x = 10, y = 10;
document.write((++x - 3) + "<br>"); // x의 값을 우선 1 증가시킨 후에 3을 뺌.
document.write(x + "<br>");         // 11
document.write((y++ - 3) + "<br>"); // 먼저 y에서 3을 뺀 후에 y의 값을 1 증가시킴.
document.write(y);                  // 11
실행 결과
8
11
7
11

증감 연산자의 연산 순서

증감 연산자는 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서가 달라진다.

 

다음 예제는 증감 연산자의 연산 순서를 살펴보기 위한 예제다.

var x = 10;
var y = x-- + 5 + --x;

document.write(x + "<br>");
document.write(y);
실행 결과
8
23

다음 그림은 위의 예제에서 수행되는 연산의 순서를 보여준다.

① : 첫 번째 감소 연산자(decrement operator)는 피연산자의 뒤쪽에 위치하므로, 덧셈 연산이 먼저 수행된다.

② : 덧셈 연산이 수행된 후에 감소 연산이 수행된다. (x의 값 : 9)

③ : 두 번째 감소 연산자는 피연산자의 앞쪽에 위치하므로, 덧셈 연산보다 먼저 수행된다. (x의 값 : 8)

④ : 감소 연산이 수행된 후에 덧셈 연산이 수행된다.

⑤ : 마지막으로 변수 y에 결괏값의 대입 연산이 수행된다. (y의 값 : 23)

'Language > JavaScript' 카테고리의 다른 글

[JavaScript] 논리 연산자(logical operator)  (0) 2022.06.30
[JavaScript] 비교 연산자(comparison operator)  (0) 2022.06.30
[JavaScript] 대입 연산자(assignment operator)  (0) 2022.06.30
[JavaScript] 산술 연산자  (0) 2022.06.30
[JavaScript] 기타 제어문  (0) 2022.06.30
'Language/JavaScript' 카테고리의 다른 글
  • [JavaScript] 논리 연산자(logical operator)
  • [JavaScript] 비교 연산자(comparison operator)
  • [JavaScript] 대입 연산자(assignment operator)
  • [JavaScript] 산술 연산자
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리액트
    object
    변수
    Python
    event
    파이썬
    객체
    Java
    CSS
    TypeScript
    JavaScript
    타입스크립트
    array
    web
    MySQL
    react
    next.js
    HTML
    제어문
    자바스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[JavaScript] 증감 연산자(increment and decrement operator)
상단으로

티스토리툴바