Posts [개발자 블로그] 5.8 제어문(PoiemaWeb-Javascript)
Post
Cancel

[개발자 블로그] 5.8 제어문(PoiemaWeb-Javascript)

4. break 문

레이블 문(Label statement)이란 식별자가 붙은 문을 말한다.

1
2
// foo라는 레이블 식별자가 붙은 레이블 문
foo: console.log('foo');

레이블 문은 프로그램의 실행 순서를 제어하기 위해 사용한다. 사실 switch 문의 case 문과 default 문도 레이블 문이다. 레이블 문을 탈출하려면 break 문에 레이블 식별자를 지정한다.

1
2
3
4
5
6
7
8
// foo라는 식별자가 붙은 레이블 블록문
foo: {
  console.log(1);
  break foo; // foo 레이블 블록문을 탈출한다.
  console.log(2);
}

console.log('Done!');

중첩된 for 문의 내부 for 문에서 break 문을 실행하면 내부 for 문을 탈출하여 외부 for 문으로 진입한다. 이때 내부 for 문이 아닌 외부 for 문을 탈출하려면 레이블 문을 사용한다.

1
2
3
4
5
6
7
8
9
// outer라는 식별자가 붙은 레이블 for 문
outer: for (var i = 0; i < 3; i++) {
  for (var j = 0; j < 3; j++) {
    // i + j === 3이면 외부 for 문을 탈출한다.
    if (i + j === 3) break outer;
  }
}

console.log('Done!');

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

출처

This post is licensed under CC BY 4.0 by the author.

[개발자 블로그] 5.7 연산자(PoiemaWeb-Javascript)

[개발자 블로그] 5.9 타입 변환과 단축 평가(PoiemaWeb-Javascript)