전위/후위 연산자 이해

h.yeon·2023년 5월 13일
0
post-thumbnail

이 글은
let 과 const, var의 차이점에 대해 공부를 하던 도중
for문을 만나서부터 쓰게되었다.

ex) var testVar = 10;

    for (testVar = 0 ; testVar < 5; ++testVar) {
  console.log(testVar); //결과값 0 1 2 3 4
}

console.log(testVar) //결과값 5

필자는 for문의 ++step 의미 어렴풋이는 알고는 있었지만 증감연산자와 for문 동작원리에 대해서는 자세히 알지는 못하는 상태였다.

얼마나 몰랐면 console.log(testVar)의 결과값 5를 배열이랑 연관있나? 생각하고 콘솔로그에 isArray를 찍어보며 배열인지 아닌지를 혼자 별나라를 가고있는 상태였으니 말이다. .



오늘 배운 내용에 대해 적어보도록 하겠다.

증감연산자란 ?

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

명칭사용법의미
incrementa++ or ++a1을 a에 더하라
decrementa-- or --a1을 a에 빼라



자세한건 아래 작성한 코드를 보자.

ex) let testIncrement = 1;//
	testIncrement++;
    
    console.log(testIncrement)//결과값 2가 된다.

여기서 testIncrement++를 다르게 작성할 수 도 있다.

ex) testIncrement = testIncrement + 1;

   console.log(testIncrement)//결과값 2

되며 testIncrement에 1을 더한 후 할당하라는 의미이다.



전위연산자(prefix operator)// +-에 따라 선 증가/감소 후 할당
후위연산자(postfix operator)// +-에 따라 선 할당 후 증가/감소

증감연산자의 위치에 따라 그 값이 달라 수가 있다.
개발오픈톡방의 어느 한분이 나의 for문을 보고 증감연산자를 공부해보라고 하셨는데 그 당시에는 얼굴이 화끈거릴 정도의 혼자서 삼천포에 빠져있을 때였기에 덕분에 전위후위의 차이점을 알 수있는 좋은 기회가 아닌가~



아래의 작성한 코드를 보자.

ex) let postFix = 10;
    const result = postFix++;//후위 증가

    console.log(result)//예상값 11 결과값 10
    console.log(postFix)예상값 11 결과값 11

ex) let preFix = 10;
    const result = ++preFix;//전위 증가
    console.log(result)//예상값 11 결과값 11
    console.log(preFix)예상값 11 결과값 11

증감연산자는 위치에 따라 코드의 동작이 달라진다.

이해를 돕기위해 그림으로도 표현해보았다.

배우는 입장에서 잘못 이해한 부분이나 고칠 점있다면 댓글로 남겨주시면 바로 잡고 가겠습니다.
참조
자바스크립트 딥다이브 74p~76p
mdn:https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Increment

profile
배운 내용을 기록으로

0개의 댓글