제어문

이보아·2024년 5월 14일
0

모던_자바스크립트

목록 보기
16/18
post-thumbnail

제어문

for(let i = 0; i < 2; i++) {
	console.log(i) 
}
// 0 1

8.3.2 while문

조건식의 평가 결과가 참이면 코드 블록을 계속하여 반복 실행한다. 반복 횟수가 불명확할 때 주로 사용한다.

❗ while문을 사용할때 무한 루프에서 탈출하기 위해서는 코드 블록 내의 if문으로 탈출 조건을 만들고 break문으로 코드 블록을 탈출한다.


while (count < 3) {
  console.log(count); 
  count++;
  if (count === 3) break; // count가 3이면 코드블록을 탈출 한다. 
}
// 0 1 2

8.3.3 do...while문

코드 블록을 먼저 실행하고 조건식을 평가하기 때문에 코드 블록은 무조건 한 번 이상 실행된다.

let count = 0;
do {
  console.log(count);  // 0 1 2
  count++;
} while (count < 3);

👉 그 외 반복문을 대체할 수 있는 기능

  • forEach 메서드( 배열을 순회할 때 사용 )
  • for...in문 ( 객체의 프로퍼티를 열거할 때 사용하는 )
  • for...of문( ES6에 도입되어 이터러블을 순회함 )

8.4 break 문

레이블 문(식별자가 붙은 문), 반복문, switch 문의 코드 블록을 탈출한다.

❗ 그 외 break 문을 사용하면 SyntaxError(문법 에러)가 생긴다.


if(true) {
  break; // Uncaught SyntaxError: Illegal break statement
}

// 레이블 문
foo: console.log("foo");

// outer라는 식별자가 붙은 레이블 for문 
outer: for(let i = 0; i < 3; i++) {
  for(let j = 0; j < 3; j++) {
    if(i + j === 3) break outer; // i + j ===3이면 outer라는 식별자가 붙은 레이블은 for문을 탈출 
    console.log(`inner [${i}, ${j}]`);
  }
}
console.log("Done");

❗ 레이블 문은 중첩된 for문 외부로 탈출할 때 유용하지만, 사용하면 프로그램 흐름이 복잡해져 가독성이 나빠지고 오류를 발생시킬 가능성이 높아지기 떄문에 일반적으로 권장되지 않는다.

8.5 continue 문

  • 반복문의 코드 블록 실행을 현 시점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동 시킨다.

    ❗break 문처럼 반복문을 탈출하지는 않는다.
profile
매일매일 틀깨기

0개의 댓글