ETC/CS
++가 앞에 있을 때와 뒤에 있을 때의 차이
괴발새발자
2022. 5. 15. 13:50
다음의 예제를 살펴보자.
var a = 3;
var b = a++;
var c = ++a;
console.log(a,b,c) // 이 때 값은?
이 예제의 정답은?
더보기
정답은 5, 3, 5 이다.
왜 이런 현상이 일어날까?
우선 var로 선언한 a 변수에 3이 할당되었다.
그 뒤로 b 변수가 var로 선언되었다. 이 때 a 변수의 값를 할당하고 뒤에 ++가 붙었다.
이는 b 변수에 a의 값인 3이 먼저 할당 되고, 그 이후로 a 변수가 1 증가함을 의미한다.
즉 a는 4, b는 3이 된 상태이다.
이후 var로 선언한 c 변수에 ++a의 값이 할당 되었다.
이는 a 변수의 값을 먼저 증가시키고 이를 c 변수에 할당하는 것과 같은 의미이다.
따라서 a는 5, b는 3, c는 5 값을 가지게 된다.