반복문에 레이블을 붙이고, break나 continue 구문을 사용해 반복문의 어느 위치에서 작업을 멈추고 어느 위치에서 다시 수행할지를 알려줄 수 있다.
var i, j;
loop1: for (i = 0; i < 3; i++) {
//첫번째 for문은 "loop1" 레이블을 붙였다.
loop2: for (j = 0; j < 3; j++) {
//두번째 for문은 "loop2" 레이블을 붙였다.
if (i === 1 && j === 1) {
continue loop1;
}
console.log("i = " + i + ", j = " + j);
}
}
비교) 레이블 문 없이 위의 코드와 동일하게 동작하게 만들기
var i, j;
for (i = 0; i < 3; i++) {
let skipOuterLoop = false; // 외부 루프를 건너뛰기 위한 플래그
for (j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
skipOuterLoop = true; // 플래그 설정
break; // 내부 루프 종료
}
console.log("i = " + i + ", j = " + j);
}
if (skipOuterLoop) continue; // 플래그가 설정되면 외부 루프의 다음 반복으로 이동
}
레이블을 작성하면, 어떤 구문을 continue 할지, break 할지 명시적으로 설정할 수 있다.
레이블 없이 작성하면, 루프를 계속 진행할지 멈출지에 대한 플래그를 심어준다.