돌아가기

'for' 반복문의 출력값 예상하기

중요도: 4

for 반복문이 순차적으로 실행될 때마다 얼럿 창에 어떤 값이 출력될지 예상해보세요.

아래 두 예시는 같은 값을 출력할까요?

  1. 후위형 증가 연산자를 사용한 경우(i++):

    for (let i = 0; i < 5; i++) alert( i );
  2. 전위형 증가 연산자를 사용한 경우(++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문의 알고리즘을 떠올려보면 쉽게 추론할 수 있는 문제입니다.

  1. 모든 작업이 시작되기 전 일단 i = 0입니다.
  2. i < 5 조건을 만족하는지 확인합니다.
  3. 위 조건이 true이면 반복문의 본문 alert(i)가 실행되고, 그 이후 i++가 실행됩니다.

i++는 위 알고리즘의 두 번째 단계(조건 확인)와 별개로 실행됩니다. 전혀 다른 구문이기 때문이죠.

증가 연산자가 반환하는 값은 (2) 에서 쓰이지 않기 때문에 i++++i에 차이가 없습니다.