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),
반복문의 처음으로 돌아가 루프문에 있는 명령들을 실행하는 것이다.
'컴퓨터 사이언스 > TIL 정리' 카테고리의 다른 글
[프론트엔드][자바스크립트] TIL Day-19.1 Sort( )함수 및 동작원리, 곁들여 Return값 a - b 완벽 이해해보기 (0) | 2022.04.21 |
---|---|
[프론트엔드][자바스크립트] TIL Day-18.2 Object 객체와 날짜 객체 (0) | 2022.04.21 |
[프론트엔드][자바스크립트] TIL Day-18 예제로 For문 꼭꼭 씹어먹기 (0) | 2022.04.20 |
[프론트엔드][CSS] TIL Day-16 Grid 그리드(Grid layout) (0) | 2022.04.18 |
[프론트엔드][CSS] TIL Day-14.2 Media Queries 미디어 쿼리 (0) | 2022.04.15 |