JavaScript 1.2부터는 break 문에 레이블(label)을 함께 사용하여 반복문의 흐름을 더욱 정밀하게 제어할 수 있습니다.
레이블은 간단히 말해 식별자 뒤에 콜론(:)을 붙인 형태로, 특정 문장이나 코드 블록 앞에 지정하는 이름입니다. 중첩된 반복문 안에서 일반적인 break 문은 가장 안쪽 반복문만 종료하지만, 레이블을 지정하면 원하는 바깥쪽 반복문까지 한 번에 빠져나올 수 있습니다.
레이블 사용법
레이블은 다음과 같은 형식으로 선언합니다.
labelName: statement
예제
아래 코드를 직접 실행해 보면 break 문과 레이블을 함께 사용하는 방법을 확인할 수 있습니다. 이 예제에서는 외부 반복문(outerloop)과 내부 반복문(innerloop)에 각각 레이블을 지정하고, 조건에 따라 서로 다른 반복문을 종료합니다.
<html>
<body>
<script>
document.write("Entering the loop!<br /> ");
outerloop: // 레이블 이름
for (var i = 0; i < 5; i++) {
document.write("Outerloop: " + i + "<br />");
innerloop:
for (var j = 0; j < 5; j++) {
if (j > 3 ) break ; // 가장 안쪽 반복문 종료
if (i == 2) break innerloop; // innerloop 레이블 종료
if (i == 4) break outerloop; // outerloop 레이블 종료
document.write("Innerloop: " + j + " <br />");
}
}
document.write("Exiting the loop!<br /> ");
</script>
</body>
</html>실행 결과 설명
- break; — 레이블 없이 사용하면 가장 안쪽 반복문만 즉시 종료됩니다.
- break innerloop; — innerloop 레이블이 지정된 내부 반복문을 종료하고, 외부 반복문은 계속 진행됩니다.
- break outerloop; — outerloop 레이블이 지정된 외부 반복문 전체를 종료하므로, 내부 반복문도 함께 종료됩니다.
이처럼 레이블과 break 문을 조합하면 여러 겹으로 중첩된 반복문에서도 원하는 지점을 자유롭게 제어할 수 있어, 복잡한 조건 처리 로직을 더 깔끔하게 작성할 수 있습니다.