프로그래밍에서는 코드를 반복해야 할 일이 많습니다. 카테고리 메뉴의 카테고리를 만들거나, 댓글을 반복적으로 표시하는 데에도 사용합니다. 또한 게시글의 리스트를 만들 때 리스트 아이쳄을 만들 때도 사용합니다. 반복문을 사용하면 단순히 똑같은 코드를 반복하기도 하지만, 반복할 때마다 숫자를 1씩 더한다든지의 행동을 할 수도 있습니다.
for (var i = 0; i < 10; i++) {
alert(i);
}
for문은 for ( 시작; 조건; 끝) {내용} 이렇게 구성 되어 있습니다. 위의 예시를 분석해보면 시작은 var i = 0;으로 하고 조건은 i < 10이고, 끝은 i++입니다.
즉 for문을 돌기 전에 var i = 0;으로 시작합니다. i라는 변수를 만들고 0 값을 넣어 초기화 했습니다. 그러고나서 조건을 비교합니다. i가 0이니까 10보다 작죠? 그러면 내용을 실행합니다. alert( i );를 해서 0 메세지가 출력되었습니다. 그 후 끝인 i++를 실행합니다. 그래서 i가 1이 됩니다. 이제부터 반복입니다. 조건을 비교하고, 조건과 맞으면 내용을 실행한 후 i++를 합니다. i가 10이 될 때까지 반복됩니다. 결과적으로 0부터 9까지 메시지가 10번 출력되겠죠?
var i = 0;
while ( i < 10) {
alert(i);
i++;
}
while문은 while (조건) {내용} 이렇게 구성됩니다. 위의 for문과는 같은 결과를 내지만,
시작부분은 while전에 써주고, 끝 부분은 while 내용 안에 직접 써주어야 합니다.
for과 while의 사용법
while은 조건밖에 없기 때문에 몇 번 반복될 지 모를 때 주로 사용되고,
for문은 반복 횟수를 정할 수 있기 때문에 몇 번 반복될지 알 때 주로 사용됩니다.
while문 안에 break;를 반복문을 넣으면 중단할 수 있습니다.
var i = 0;
while (i < 10) {
if(i > 5) {
break;
}
alert(i);
i++;
}
원래 0부터 9까지 alert해야하는데 5까지만 alert하고 중단됩니다.
break를 적시적소에 활용하면 좋습니다. 특히 원하는 결과값을 이미 찾았을 때
반복문이 남은 상황에 사용하면 좋습니다.
break을 사용하면 끝까지 반복문을 돌릴 필요 없이 반복문에서 탈출할 수 있습니다.
var i = 0;
while (i < 10) {
i++;
if (i % 2 === 0) {
continue;
}
alert(i);
}
반복문을 끝까지 돌기는 하지만, continue가 있으면 그 아랫부분은 실행하지 않고 다음 반복문으로 넘어갑니다. 위의 경우는 i가 짝수 일 때 continue를 합니다. 따라서 1부터 10 사이의 홀수만 alert하고 넘어갑니다. continue는 반복문의 공통된 수행 작업에서 예외를 두고 싶을 때 사용하면 좋습니다.
반복문을 할 때 조심해야할 점은, 절대로 무한 반복되는 상황을 만들어서는 안 된다는 겁니다. 바로 위의 코드에서 i++;를 빼면, i는 영원히 10보다 작기 때문에 계속해서 반복문이 실행됩니다. 그렇게 되면 프로그램은 메모리 부족이나 CPU 풀가동을 멈추고 맙니다. 항상 결과를 예측하고 반복문을 만드세요!