레이블(label) 없는 break 문
break 문은 반복문을 조기에 종료할 때 사용합니다. break가 실행되면 해당 반복문을 감싸고 있는 중괄호({}) 블록을 즉시 빠져나가며, 반복문 전체 실행이 중단됩니다. 단, 레이블이 없는 break는 자신이 속한 가장 가까운 반복문 하나만 종료한다는 점에 유의해야 합니다.
예제
다음은 레이블 없이 break 문을 사용한 자바스크립트 예제입니다.
<html>
<body>
<script>
var x = 1;
document.write("Entering the loop<br /> ");
while (x < 20) {
if (x == 5){
break; // 반복문을 완전히 빠져나감
}
x = x + 1;
document.write( x + "<br />");
}
document.write("Exiting the loop!<br /> ");
</script>
</body>
</html>위 예제에서 변수 x가 5가 되는 순간 break가 실행되어 while 반복문이 즉시 종료됩니다. 조건(x < 20)이 아직 참이더라도 더 이상 반복이 진행되지 않습니다.
레이블(label) 있는 break 문
레이블은 프로그램의 실행 흐름을 제어하기 위해 사용됩니다. 특히 중첩된(nested) for 반복문에서 안쪽 반복문이 아니라 바깥쪽 반복문까지 한 번에 빠져나가야 할 때 매우 유용합니다. 레이블 이름 뒤에는 콜론(:)을 붙이며, break 레이블명; 형태로 작성하면 해당 레이블이 붙은 반복문 전체를 종료할 수 있습니다.
예제
다음은 레이블과 break 문을 함께 사용하여 반복문의 흐름을 제어하는 예제입니다.
<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: 지정한 레이블이 붙은 반복문(예: 바깥쪽 루프)까지 한 번에 탈출할 수 있습니다.
- 레이블은
break뿐 아니라continue문과도 함께 사용할 수 있어, 중첩 반복문의 흐름을 세밀하게 제어하는 데 활용됩니다.