레이블(Label)

어떤 문장에 레이블을 붙이면 프로그램의 다른 곳에서 그 식별자를 통해 문장을 참고할 수 있다. 레이블은 어떤 문장에라도 붙일 수 있지만, 루프나 조건문 같이 몸체가 있는 문장에 쓰는 편이 유용하다.

식별자: 문장

레이블은 범위는 레이블이 적용될 문장과, 그 하위 문장(substatement)들에서만 유용하다.

break혹은 continue와 함께 사용하는 예

var 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 = ${i} / j = ${j}`);
  }
}

i = 0 / j = 0

i = 0 / j = 1

i = 0 / j = 2

i = 1 / j = 0

break 키워드 뒤에 레이블 loop1을 생략했다면, 변수 j를 테스트로 하는 루프만 종료됐을 것이다. ( 같은 원리로 break 키워드 뒤에 레이블 loop2를 함께쓰면 이와 동일하게 작동한다.)

function

ECMA Script2015에서 레이블을 붙인 함수선언문은 non-strict 모드에서만 사용 가능하다. (굳이 쓸일도 없지만 안쓰는게 좋겠다.)

'use strict';
L: function F() {}
// SyntaxError: functions cannot be labelled

참고

results matching ""

    No results matching ""