While 문

Beom·2022년 4월 29일
0

자바스크립트 101

목록 보기
6/9

while 문은 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행한다

  • for문은 반복횟수가 명확할 때 사용, while문은 반복 횟수가 불명확할때 주로 사용한다
  • while문은 조건문의 평과 결과가 거짓이 되면 코드 블록을 실행하지 않고 종료한다
  • 만약 조건식의 평과 결과가 불리언 값이 아니면 강제로 변환하여 참 / 거짓을 구별한다

조건식의 결과가 언제나 참이면 무한루프가 된다

while (true) {...}

무한루프에서 빠져나오기 위해서는 코드 블록 내에 if문으로 탈출 조건을 만들고 break를 사용하여 빠져나올 수 있다

var count = 0;
while(true) {
  console.log(count);
  count++;
  if(count === 3) break;
}

do...while 문

  • 코드블록을 먼저 실행하고 조건식을 평가한다
  • 따라서 코드 블록은 무조건 한 번 이상 실행된다
var count = 0;
do {
  console.log(count);
  count++;
} while (count<3);

해당 코드는 count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다


Break 의 사용

  • break 를 사용하면 코드 블록에서 빠져나올 수 있다 (정확하게는 반복문 형태의 코드 블록을 탈출하는 것)

for 문의 중첩

  • for 문이 중첩된 경우 차례로 실행이 되다가 안쪽에 있는 for 문이 종료된 경우 다시 바깥에 존재하는 for문을 실행한다
  • 만약 강제로 빠져나오고 싶다면 break 를 사용하면 가능하다
  • 다만 중첩의 경우에만 필요한 경우 사용하는 것을 권장하며 그 외의 상황에서는 가독성이 나빠지고 오류를 발생시킬 확률이 높아지기 때문에 사용을 지양한다
outer:for(var i=0; i<3; i++){
 for(var j=0; j<3; j++){
   if(i+j===3) break outer;
 }
}

Continue 문

  • continue 문은 반복문의 코드 실행을 현 지점에서 종료하고 반복문의 증감식으로 실행 흐름을 이동시킨다
  • break 문과 같이 반복문을 탈출하지는 않는다
for (var i=0; i<string.length; i++){
  if(string[i] === search) {
    count++
  }
}

for (var i=0; i<string.length; i++){
  if(string[i] !== search) continue;
  count ++;
}

continue 를 사용하지 않으면 If 문 안에서 코드를 작성해야 하며
continue 를 사용한다면 if 문 밖에서 코드를 작성할 수 있다


출처: 모던 자바스크립트 딥다이브

0개의 댓글