반응형
오늘은 JavaScript Break 문에 대해 작성해보겠다.
앞서 포스팅한 반복문 페이지에서
switch 문과 while 문에서 살펴보았듯이 break 문은 코드 블록을 탈출한다. 좀 더 정확히 표현하자면 코드 블록을 탈출하는 것이 아니라 레이블 문, 반복문(for, for...in, for...of, while, do...while) 또는 switch 문의 코드 블록을 탈출한다. 그 외 break 문 사용 시 SyntaxError(문법 에러)가 발생한다.
아래와 같이 if문에 break를 사용하면 Syntax에러가 발생한다.
if(true){
break; // Uncaught SyntaxError: Illegal break statement
}
참고로 레이블 문이란 식별자가 붙은 문을 말한다.
// foo라는 레이블 식별자가 붙은 레이블 문
foo: console.log('foo')
레이블 문은 프로그램 실행 순서 제어에 사용한다. 사실 switch 문의 case문과 default 문도 레이블 문이다. 레이블 문을 탈출하려면 break 문에 레이블 식별자를 지정한다.
// foo라는 레이블 식별자가 붙은 레이블 블록문
foo: {
console.log(1)
break foo;
console.log(2)
}
중첩 for문의 내부 for문에서 break 문을 실행 시 내부 for문을 탈출한다. 이때 외부 for문을 탈출 시에 레이블 문을 사용한다.
//outer라는 식별자가 붙은 레이블 for문
outer: for(let i=0; i<3; i++){
for(let j=0; j<3; j++){
//i+j===3이면 outer라는 식별자가 붙은 레이블 for문을 탈출한다.
if(i+j===3) break outer;
console.log(`inner [${i}, ${j}]`)
}
}
반응형
'JavaScript' 카테고리의 다른 글
함수와 일급 객체 (0) | 2022.10.31 |
---|---|
JavaScript continue 문 (1) | 2022.10.04 |
JavaScript 반복문(for, while, do...while) (1) | 2022.10.04 |
JavaScript Switch 문 (0) | 2022.10.04 |
JavaScript if...else문 (0) | 2022.10.02 |