Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 블록에 레이블 지정하기 – 라벨 문법과 break 활용법

블록 문(block statement)은 하나 이상의 문장을 중괄호 { }로 묶어 하나의 단위로 그룹화한 것입니다. JavaScript 외의 다른 프로그래밍 언어에서는 이를 '복합문(compound statement)'이라고 부르기도 합니다.

블록 문의 기본 문법

블록 문은 다음과 같은 형태로 작성합니다.

{
    // 문장 목록
}

블록에 레이블 추가하기

블록에 레이블(label)을 붙이려면 레이블로 사용할 식별자(identifier) 뒤에 콜론(:)을 붙여주면 됩니다.

레이블명: {
    // 문장 목록
}

레이블은 특히 breakcontinue 문과 함께 사용할 때 유용합니다. 중첩된 반복문에서 일반적인 break는 가장 안쪽 반복문만 종료하지만, 레이블을 지정하면 원하는 바깥쪽 반복문까지 한 번에 빠져나올 수 있습니다.

예제: 레이블과 break 문으로 흐름 제어하기

아래 코드는 레이블을 사용해 중첩된 반복문의 실행 흐름을 제어하는 방법을 보여줍니다.

<html>
    <body>
        <script>
            document.write("루프 시작!<br />");
            outerloop:  // 레이블 이름
            for (var i = 0; i < 5; i++) {
                document.write("외부 루프: " + i + "<br />");
                innerloop:
                for (var j = 0; j < 5; j++) {
                    if (j > 3) break;            // 가장 안쪽 루프 종료
                    if (i == 2) break innerloop; // 내부 루프 종료
                    if (i == 4) break outerloop; // 외부 루프까지 한 번에 종료
                    document.write("내부 루프: " + j + " <br />");
                }
            }
            document.write("루프 종료!<br />");
        </script>
    </body>
</html>

코드 설명

  • break: 조건 없이 사용하면 가장 안쪽(innermost) 반복문만 종료합니다.
  • break innerloop: innerloop 레이블이 붙은 반복문을 종료합니다.
  • break outerloop: outerloop 레이블이 붙은 바깥쪽 반복문까지 한 번에 종료합니다.

이처럼 레이블을 활용하면 여러 겹으로 중첩된 반복문에서도 유연하게 실행 흐름을 제어할 수 있습니다. 다만 레이블을 남용하면 코드 가독성이 떨어질 수 있으므로, 필요한 경우에만 적절히 사용하는 것이 좋습니다.