Javscript

[JavaScript] 자바스크립트 레이블 문 (label statement)

Wbeen 2023. 1. 12. 21:32

 

 

 


 

오늘은 레이블 문에 대해서 알아보겠습니다.

 

 

레이블 문이란 식별자가 붙은 문을 말하고 문법은 다음과 같습니다.

label : statement
// foo라는 레이블 식별자가 붙은 레이블 문
ex) foo : console.log("foo");

 

레이블 문은 프로그램의 실행 순서를 제어하는 데 사용됩니다. 

반복문에 레이블을 붙이고 break , continue 구문을 사용해 반복문이 작업을 멈추고 다시 실행하는지를 지정할 수 있습니다.

 

이중 for 문의 내부 for 문에서 break를 실행하면 내부 for 문을 멈추고 외부 for 문으로 돌아가게 됩니다.

레이블 문을 사용하면 내부 for 문에서도 외부 for 문을 컨트롤할 수 있게 됩니다.

 

그렇다면 레이블 문을 사용한 것과 안한 것은 어떤 차이가 있을까요

 

아래 예시를 보겠습니다.

두 코드 모두 i+j 의 합이 3일 때 break를 통해 반복문을 멈추도록 하였습니다.

 

왼쪽 코드는 내부 for 문에서 break 문에 레이블 식별자를 지정하지 않아 외부 for 문이 한번 더 동작하고 

오른쪽 코드는 외부 for 문에 레이블 식별자 "outer"를 붙여 outer라는 식별자가 붙은 for문을 탈출하도록 동작하고 있습니다.

 

두 코드에서 반복문에 초기값, 조건식, break 조건이 같지만 break 문에 레이블 식별자가 지정되었는지 여부에 따라 결과값이 다른 것을 볼 수 있습니다.