13. 반복문

코딩의 꽃 반복문

while

while(조건) {
  로직
}

조건이 true이면 로직이 실행된다.

let life = 5;
while (life) {
  console.log(life);
  life--;
}

life가 하나씩 줄어들면서 0이되면 false가 되어 멈춤

조건을 통해 아래 코드가 한번 실행되는 단위를 이터레이션(iteration)이라고 한다.
여기서 중요한건 조건을 담당하는 life가 반복될때 마다 증감을 한다는 것이다. 저런 증감이 없다면 무한루프가 돌게되고 위험하다.
while문을 사용할때는 조건과 증감을 잘 작성하여 무한루프가 안돌게끔 하여야한다.

do...while

while과 다른점은 조건식이 아래로 내려간다.

do {
  로직
} while(조건);

반복의 조건을 따지기전 로직을 무조건 한번 실행한다.
그래서 어떠한 반복을 돌리기전에 꼭 최초의 1번이 실행되어야 할 때 사용된다.

for

for(초기화; 조건; 증감식) {
  로직
}

for문은 앞의 반복문들보다 작성하기가 어렵지만 더 많이 사용된다.
1. 초기화 부분은 어떠한 조건을 따질때 사용될 값을 하나 생성한다.
2 그 값을 조건을 따져 반복을 할지 않할지를 정한다.
3 반복후 해당 값을 증감한다.

실행순서
초기화(최초의 한번만)
조건식
로직
증감식

for(let i=1; i<10; i++) {
  console.log(`2 * ${i} = ${2 * i}`); 
}

지역변수 i를 생성한 뒤 조건을 확인
i는 1이고 10보다 작음으로 로직을 실행
콘솔 -> 2 * 1 = 2
i의 값을 1을 늘린뒤 다시 조건을 따진후 로직실행의 반복

for(;;) { ... } // for문뒤에 ;;만 적으면 무한루프가 돈다.

break

반복을 돌다가 특정 조건을 만족했을때 또는
의도적인 무한반복을 돌다가 멈춰야 할 때
우리는 break키워드를 사용해 반복문을 종료시킬 수 있다.

while(true) {
  let value = prompt('숫자 입력', '')*1;
  if(!value) {
    break;
  }  
  console.log(value);
}

입력된 숫잘를 출력해주는 반복문을 돌리다가 멈추고 싶을 때 아무것도 입력을 안한다면 반복문을 빠져나오게 하는 코드이다.

continue

어떠한 조건에 따라 현재 단계를 건너뛰게 하고싶을 때가 있다.
그럴 떄는 continue키워드를 사용한다.

let number = 1;
while(number < 100){
  if(number % 2) {
    number++;
	continue;
  }
  console.log(number);
  number++;
}

홀수일때만 출력하는 로직
짝수일때 continue키워드르 만나기 때문에 아래의 코드는 무시되고 다음으로 넘어감

break와 continue는 호출되는 코드를 줄일 수 있음

좋은 웹페이지 즐겨찾기