Post

반복문 정리

반복문이란,

조건식이 참인 경우 반복해서 명령문을 실행하도록 만든 수행문이다. 반복문은 중복되는 코드를 획기적으로 줄여주므로 유용하다. 반복문을 작성하기 위해서는 조건식을 작성할 수 있어야 한다. 조건식에 대한 포스팅을 참고하길 바란다.

Javascript의 반복문 문법으로는 (1) for문 (2) do … while문 (3) 삼항연산자가 있다.

for문

for문은 조건식이 거짓으로 판별될 때까지 실행문을 반복한다.

1
2
3
4
for ([초기식]; [조건식]; [증감식]){	
  // 조건식이 참일 때만 실행
  [명령문]
}
1
2
3
4
5
// 예시
let sum = 0;
for (var i = 1; i < 10; i++){
  sum = sum + i
} // sum에는 1부터 9까지의 합이 저장된다.

do-while문

do-while 문도 조건식이 거짓으로 판별될 때까지 반복합니다. 하지만 조건식을 계산하기 전, do 이하의 명령문이 실행된다는 차이점이 있다.

1
2
3
4
do {
  // 조건식 계산 전 실행
  [명령문]
} while([조건식]) //조건식이 거짓이면 반복문 탈출
1
2
3
4
5
6
// 예시
let sum = 0; var i = 1;
do {
  sum = sum + i;
  i = i + 1;
} while(i < 10) //sum에는 1부터 10까지의 합이 저장된다.

조건식을 계산하기전 명령문이 먼저 실행되기 때문에, 위의 for문과 달리 do…while문의 sum은 1부터 10까지의 합이 저장되었습니다..

while문

while문은 조건식이 참이기만 하면 명령문을 반복해서 수행한다.

1
2
3
4
while([조건식]){
 //조건식이 참일 때만 실행
 [명령문]
}
1
2
3
4
5
6
// 예시
let sum = 0; var i = 1;
while(i < 10){
  sum = sum + i;
  i = i + 1;
}//sum에는 1부터 9까지의 합이 저장된다.

조건식을 계산한 후 명령문이 수행되므로, do…while문과 달리 while문의 sum은 1부터 9까지의 합이 저장되었습니다.

레이블문

레이블문이란, 이름이 붙은 실행문을 의미합니다. 아래 예시에서, markLoop는 while문에 붙은 이름입니다.

1
2
3
while (theMark == true) {
   doSomething();
}

break

레이블 없이 break를 쓰면 가장 가까운 while, do-while, for, 또는 switch문을 종료하고 다음 명령어로 넘어간다.

break란, 반복문, switch문, 레이블 문과 결합한 문장을 빠져나올 때 사용한다. break는 두 가지 방법으로 사용할 수 있다.

1
2
3
4
5
6
for (i = 0; i < a.length; i++) {
  if (a[i] == theValue) {
    break;
  }
} // a[i]값이 theValue와 같아지면 반복문 탈출.

break [label] ;

레이블 문과 함께 break를 쓰면 해당 레이블 문을 종료하고 다음 명령어로 넘어간다.

1
2
3
4
5
6
7
outerLoop:
for(var i = 0; i < a.length; i++){
  for(var j = 0; j < i; j++){
    if (a[i]*a[j] == theValue){
      break outerLoop;
  }
} // 배열 a 내의 두 값의 곱이 theValue와 같아지면 outerLoop 탈출

continue ;

레이블 없이 continue를 쓰면, 가장 안쪽의 반복문을 종료하고, 다음 반복으로 루프의 실행을 계속한다. while문의 경우 다시 조건으로 이동한다. for문의 경우 증가 표현으로 이동한다.

continue란, continue 이후의 명령문을 이어서 실행하지 않고 while, do-while, for, 레이블 문의 첫번째 명령문을 실행한다. continue는 두 가지 방법으로 사용할 수 있다.

1
2
3
4
5
6
7
8
9
let i = 0;
let sum = 0;
while (i < 10) {
  if (i == 5) {
    continue;
  }
  sum = sum + i
  
} // sum에는 5를 제외한 1부터 9까지의 합이 저장된다.
This post is licensed under CC BY 4.0 by the author.