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

JavaScript 중첩 루프를 한 번에 빠져나오는 가장 좋은 방법: 레이블(Label) 활용하기

중첩 루프(nested loop)에서 빠져나오는 가장 좋은 방법은 레이블(label)을 사용하는 것입니다. 레이블은 breakcontinue 문과 함께 사용할 수 있으며, 코드 실행 흐름을 훨씬 더 정밀하게 제어할 수 있게 해줍니다. 레이블이란 식별자(identifier) 뒤에 콜론(:)을 붙인 이름으로, 특정 문장이나 코드 블록에 적용됩니다.

예제

아래 코드를 직접 실행해 보면, 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; // 안쪽 루프를 지정하여 종료
               if(i == 4) break outerloop; // 바깥쪽 루프까지 모두 종료
               document.write("Innerloop: " + j + " <br />");
            }
         }
         document.write("Exiting the loop!<br /> ");
      </script>
   </body>
</html>

코드 설명

  • break; — 단독으로 사용하면 현재 실행 중인 가장 안쪽 루프만 종료됩니다.
  • break innerloop; — 레이블을 지정하면 해당 레이블이 붙은 루프가 즉시 종료됩니다.
  • break outerloop; — 바깥쪽 루프의 레이블을 지정하면 중첩된 모든 루프를 한 번에 빠져나올 수 있습니다.

이처럼 레이블을 활용하면 별도의 플래그(flag) 변수를 두거나 코드를 함수로 분리하지 않고도, 여러 겹으로 중첩된 루프를 깔끔하고 직관적으로 제어할 수 있습니다. continue 문에도 동일한 방식으로 레이블을 적용할 수 있으므로, 반복문 흐름 제어가 필요한 상황에서 매우 유용하게 활용됩니다.