앞에서 이야기 했던 증감 연산자
에 대해 알아보았고, 나를 포함한 다른 사람들이 헷갈려 하는 부분이
많아 javascript의 수학적 표현에 대해 알아보려고 한다.
let num= 1;
num++;
console.log(num); // 2
위에 예제에서 보았든 증감 연산자
에 의해 +1
이 더해져 2
가 할당된다.
num++; -> num=num+1;
원래 저 연산의 표현은 연산을 할당하고, 값이 1 증가한다 지만, 연산식이 없으니 변수에 바로 1을 더해준다.
더 나은 이해를 돕기위해 다른 예제를 봐보자
let num= 1;
let newNum = num++;
console.log(num); // 2
console.log(newNum); // 1
위에 값에선 num=2
,newNum=1
이라는 값이 할당된다.
아마 이해가 잘 안갈수가 있다.
2,2가 나올거 같지만 let newNum = num++;
을 보면 newNum
에 num
이 할당되어,
1이 되고 num++;
가 실행된다.
위 사진을 잘보면,
step1 : 먼저 newNum
변수의 num
변수가 할당된다.
step2 : 그 다음 원래 num
변수가 뒤늦게 증가되어 num
변수의 값이 증가한다.
위와 같이 해석된다.
위에 문제를 풀어서 쓰면 아래와 같이 된다.
let num= 1;
let newNum = num;
num++;
newNum
에도 2를 할당하고 싶으면 ++
를 앞에 붙이면 된다.
let num= 1;
let newNum = ++num;
풀어서 쓰면 아래와 같이 된다.
let num= 1;
num++
let newNum = num;
console.log(num); // 2
console.log(newNum); // 2