javascript

[Javascript] label(레이블) 구문

sewonzzang123 2022. 1. 11.
반응형

레이블 구문은 break 나 continue 구문과 함께 사용할 수 있습니다.

원하는 식별자로 구문 앞에 레이블을을 추가할 수 있습니다.

 

문법

label :

    statement

 

label : 자바스크립트에서 사용할 수 있는 식별자면 모두 가능합니다.

statement : 구문. break는 모든 레이블 구문에서 사용될 수 있으며, continue는 반복 레이블 구문에서만 사용할 수 있습니다.

 

반복문에 레이블을 붙이고, break나 continue 구문을 사용해 반복문의 어느 위치에서 작업을 멈추고 어느 위치에서 다시 수행할지를 알려줄 수 있습니다.

 

자바스크립트에는 goto문이 없다는 것에 주의해야 하며, break나 continue에서만 레이블을 사용할 수 있습니다.

 

strict mode코드에서 "let" 을 레이블 이름으로 사용할 수 없습니다. ( SyntaxError 를 발생시킵니다 (let은 허용되지 않은 식별자입니다.))

 

ex 1) for 문에서 레이블 continue 사용하기

let i, j;
 
 
loop1 :
for (i=0; i<3; i++){
    loop2:
    for(j=0; j<3; j++){
        if(i===1 && j===1){
            continue loop1;
        }
        console.log(i,j);
    }
}
 
 
// 0 0
// 0 1
// 0 2
// 1 0

 

ex2) 레이블 break문 사용하기

let i, j;
 
 
loop1 :
for (i=0; i<3; i++){
    loop2:
    for(j=0; j<3; j++){
        if(i===1 && j===1){
            break loop1;
        }
        console.log(i,j);
    }
}
 
 
 
// 0 0
// 0 1
// 0 2
// 1 0
// 2 0
// 2 1
// 2 2

 

ex3) 레이블 붙인 블록에 break 사용하기

foo:{
    console.log('face');
    breat foo;
    console.log('this will not be executed');
}
console.log('swap');
 
 
// face
// swap

 

 

 

 

 

 

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/label

 

label - JavaScript | MDN

레이블 구문은 break나 continue 구문과 함께 사용할 수 있다. 원하는 식별자로 구문 앞에 레이블을 추가할 수 있다.

developer.mozilla.org

 

반응형

댓글