'for' 반복문의 출력값 예상하기
중요도: 4
for 반복문이 순차적으로 실행될 때마다 얼럿 창에 어떤 값이 출력될지 예상해보세요.
아래 두 예시는 같은 값을 출력할까요?
-
후위형 증가 연산자를 사용한 경우(
i++
):for (let i = 0; i < 5; i++) alert( i );
-
전위형 증가 연산자를 사용한 경우(
++i
):for (let i = 0; i < 5; ++i) alert( i );
두 경우 모두 0
부터 4
까지 출력됩니다.
for (let i = 0; i < 5; ++i) alert( i );
for (let i = 0; i < 5; i++) alert( i );
for
문의 알고리즘을 떠올려보면 쉽게 추론할 수 있는 문제입니다.
- 모든 작업이 시작되기 전 일단
i = 0
입니다. i < 5
조건을 만족하는지 확인합니다.- 위 조건이
true
이면 반복문의 본문alert(i)
가 실행되고, 그 이후i++
가 실행됩니다.
i++
는 위 알고리즘의 두 번째 단계(조건 확인)와 별개로 실행됩니다. 전혀 다른 구문이기 때문이죠.
증가 연산자가 반환하는 값은 (2) 에서 쓰이지 않기 때문에 i++
와 ++i
에 차이가 없습니다.