안녕하세요, 여행벌입니다.

오늘은 반복문을 제어하는 continue문에 대해서 다뤄보겠습니다.


continue 문

 continue 문은 반복문에서만 사용할 수 있습니다. 반복문에 사용할 경우 continue문 다음에 오는 코드는 무시하고 바로 조건식으로 이동해 조건 검사를 합니다. 즉, 반복문 안에 있는 continue 문은 "다음에 오는 코드는 무시하고 바로 조건식에서 조건 검사를 실행해!" 라고 말하는 것과 같습니다.

 기본 형은 다음과 같습니다.

for(초기값; 조건식; 증감식){
    continue;
    자바스크립트코드;
}
///////////////////////////
초기값;
while(조건식){
    증감식;
    continue;
    자바스크립트코드;
}

 예제를 통해 익혀보겠습니다.

 반복문을 이용해 i 를 0 부터 9까지 증가시키면서 홀수면 출력하는 코드를 구현해보겠습니다.

for(let i = 0; i < 10; i++){
    if(i % 2 == 0) //짝수면 SKIP
        continue;
    else // 홀수면 출력
        console.log(`${i}`);
}

 i % 2 == 0 이라는 뜻은 i 가 2로 나눴을 때 나머지가 0이라는 뜻으로 짝수를 의미합니다. i 가 짝수라면 continue 가 실행되므로 바로 증감식과 조건식이 수행됩니다.

 같은 코드를 while 문으로 구현해보겠습니다.

let i = 0;
while(i < 10){
    if(i % 2 == 0){
        continue;
    }else{
        console.log(`${i}`);
    }
    i++;        
}

 이렇게 코드를 구현하면 과연 잘 작동할까요?? 차근차근 코드를 따라가 보겠습니다. i = 0 이므로 조건식을 만족해 while 문 안의 코드를 수행하게 됩니다. 이때, i = 0이므로 if 문이 조건식이 참이 되고 continue 문이 수행됩니다. continue 문을 만나면 while 문은 다시 조건식부터 수행하게 되고, 증감식 i++ 은 수행이 되지 않으므로 무한 루프에 빠지게 됩니다.

let i = 0;
while(i < 10){
    if(i % 2 == 0){
        i++;        
        continue;
    }else{
        console.log(`${i}`);
        i++;        
    }
}

 이렇게 코드를 수정한다면 continue 문을 만나도 증감식은 진행되므로 우리가 원하는 결과를 얻을 수 있습니다.

 for문과 다르게 while 문은 증감식 코드를 continue 문 뒤에 작성하면 continue 문에 의해 무한 루프에 빠지게 되므로 조심해야 됩니다.


다음 포스팅부터는 객체에 대해서 다뤄보겠습니다.

+ Recent posts