i++
와 ++i
는 단항 증감 연산자로, 변수를 1씩 증가시키는 역할을 합니다. 두 표현식은 증가 연산의 시점에서 차이가 있습니다.
i++
는 값을 1 증가시키지만, 이는 현재 값이 사용된 후에 발생합니다. 연산이 수행된 이후에 변수의 값이 증가합니다.let i = 5;
let result = i++; // result는 5, i는 6
console.log(result); // 5
console.log(i); // 6
result
는 i++
이 실행되기 전에 i
의 현재 값인 5
를 가지며, 이후 i
는 6
으로 증가합니다.++i
는 값을 1 증가시킨 후에 그 값을 사용합니다. 변수의 값이 증가한 후 연산이 수행됩니다.let i = 5;
let result = ++i; // i는 6으로 증가하고, result도 6
console.log(result); // 6
console.log(i); // 6
i
는 ++i
가 실행되면서 즉시 6
으로 증가하고, result
도 6
을 가지게 됩니다.let i = 10;
console.log(i++); // 10 (현재 값을 반환하고 나서 증가)
console.log(i); // 11 (i는 이제 증가된 값)
i = 10; // 변수 재설정
console.log(++i); // 11 (먼저 증가하고 나서 값을 반환)
console.log(i); // 11 (i는 이미 증가된 값)
// 반복문에서 사용
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4
}
for (let i = 0; i < 5; ++i) {
console.log(i); // 0, 1, 2, 3, 4
}
i++
와 ++i
는 동일하게 동작합니다. 반복문의 마지막 부분에서 증감 연산이 이루어진 후 조건이 검사되기 때문에 동일한 출력 값을 가집니다.