본문 바로가기
컴퓨터 사이언스/TIL 정리

[프론트엔드][자바스크립트] TIL Day-17.1 반복문의 continue

by 메리뉴데이 2022. 4. 20.

 continue 문은

 

 현재 혹은 레이블이 지정된 루프의 현재 반복에서

1. 명령문의 실행을 종료하고

2. 반복문의 처음으로 돌아가

3. 루프문의 다음 코드를 실행한다. 

 

 

 

 

위 코드를 해석하면,

 

text라는 변수를 let을 이용하여 문자열(String)일 것을 예고하며 비워둔 채로 변수 선언을 하고,

for문 안에서 i를 let으로 변수를 선언하면서 초기값을 0으로 지정,

i가 10보다 작을 때까지는 중괄호 { }의 명령문을 i를 하나씩 증가시켜가면 실행.

 

 

i가 3이라면 continue를 실행하고, 

아니라면 text = text + i를 실행한다.

이때 + 는 덧셈 기호가 아니라 문자열을 합쳐, 옆으로 연결해 쓰라는 의미이다.

 

 

i가 0일 때부터 10보다 작은 동안 계속 반복해 실행하면 

012 이렇게 실행이 되다, 

i가 3일 때는 if의 조건에 부합하게 되므로 continue가 실행된다.

 

 

맨 위에 continue에 대해 이야기하였 듯,

1. 명령문의 실행을 종료하고  ㅡ>  text = text + i 실행을 멈추고,

2. 반복문의 처음으로 돌아가  ㅡ>  let i  =  0;  i  < 10; i++ 로 돌아가,  i = 4가 되고

3. 루프문의 다음 코드를 실행한다.  ㅡ> i가 3이 아니므로 text = text + i 를 다시 실행한다.

 

 

계속 반복하다 i = 10이 되면 조건에 맞지 않으므로, for문의 중괄호 { }를 빠져나와, 

console.log(text); 를 실행하고 마치게 된다. 

 

 

따라서 예상되는 결과(output)는 

숫자가 아닌 문자열을 나타내는 "012456789"  이 되는 것이다.

 

 

 

 

참고로, break와의 차이는 무엇이냐.
다음에 실행해야 하는 명령문을 실행하지 않고 빠져나오는 것까지는 같지만, 
break는 루프문(자신이 속해있는 명령문 집합)을 완전히 빠져나오는 데 반해
continue는 루프문을 빠져나오지는 않고 다음에 실행해야 하는 명령문을 
continue와 함께 나오는 조건에 따라 조건에 해당될 때만 실행하지 않을 뿐(skip),
반복문의 처음으로 돌아가 루프문에 있는 명령들을 실행하는 것이다.