JavaScript Break
JavaScript Break: 반복문 및 제어 흐름 중단의 이해와 활용
JavaScript의 break
문은 반복문이나 switch
문에서 실행 흐름을 즉시
중단하고, 해당 블록을 빠져나갈 때 사용됩니다. 이를 통해 반복문을 강제로 종료하거나 조건에 맞춰 실행을 중단하는 등의 제어 흐름을 관리할 수 있습니다.
이 가이드는 JavaScript에서 break
문의 동작 원리와 그 활용 방법을 설명합니다.
1. break
의 기본 개념
break
문은 반복문이나 switch
문 내에서 사용되며, 실행 흐름을 즉시
중단하고 해당 블록을 벗어납니다.
1.1. 기본 구문
break;
- 반복문에서 사용하면 반복을 강제로 중단합니다.
switch
문에서는 일치하는case
가 실행된 후 더 이상 다른case
를 실행하지 않고,switch
문을 종료합니다.
2. break
와 반복문
break
는 for
, while
,
do...while
등의 반복문에서 조건에 맞춰 반복을 조기 종료하는 데 사용됩니다.
2.1. for
반복문에서 break
사용
숫자를 1부터 10까지 출력하는 반복문에서 5까지만 출력하고 반복을 중단하는 예시입니다.
for (let i = 1; i <= 10; i++) {
if (i === 6) {
break; // i가 6이 되면 반복문 종료
}
console.log(i);
}
// 출력:
// 1
// 2
// 3
// 4
// 5
2.2. while
반복문에서 break
사용
while
반복문에서 조건에 따라 중단하고 싶을 때 break
를 사용할 수 있습니다.
let i = 1;
while (i <= 10) {
if (i === 6) {
break; // i가 6일 때 반복문 종료
}
console.log(i);
i++;
}
// 출력:
// 1
// 2
// 3
// 4
// 5
3. break
와 switch
문
switch
문에서 break
는 각 case
를 분리하고, 일치하는 case
가 실행된 후
다음 case
로 넘어가지 않도록 하기 위해 사용됩니다.
3.1. switch
문에서 break
사용
아래는 숫자에 따라 다른 메시지를 출력하는 switch
문의 예시입니다. break
가 없으면 다음 case
들도
계속 실행되므로 break
를 통해 흐름을 제어합니다.
const day = 2;
switch (day) {
case 1:
console.log("월요일");
break;
case 2:
console.log("화요일");
break;
case 3:
console.log("수요일");
break;
default:
console.log("알 수 없는 요일");
}
// 출력: 화요일
만약 break
를 생략하면 일치하는 case
이후의 모든 case
가 연속적으로 실행됩니다.
3.2. break
가 없는 경우 (Fall-Through)
const day = 2;
switch (day) {
case 1:
console.log("월요일");
case 2:
console.log("화요일");
case 3:
console.log("수요일");
default:
console.log("알 수 없는 요일");
}
// 출력:
// 화요일
// 수요일
// 알 수 없는 요일
4. 중첩 반복문에서의 break
중첩된 반복문에서 break
는 현재 반복문만 중단하고, 상위 반복문은 계속 실행됩니다. 상위 반복문까지 중단하려면
**레이블(label)**을 사용해야 합니다.
4.1. 중첩 반복문에서 break
사용
for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
if (j === 2) {
break; // 내부 반복문만 중단
}
console.log(`i = ${i}, j = ${j}`);
}
}
// 출력:
// i = 1, j = 1
// i = 2, j = 1
// i = 3, j = 1
4.2. 레이블을 사용한 break
레이블을 사용하면 중첩된 모든 반복문을 한 번에 중단할 수 있습니다.
outerLoop: for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
if (j === 2) {
break outerLoop; // 모든 반복문 종료
}
console.log(`i = ${i}, j = ${j}`);
}
}
// 출력: i = 1, j = 1
5. 실용적인 break
사용 예시
5.1. 특정 조건에 따라 배열 검색 중단
배열에서 특정 값을 찾으면 더 이상 반복할 필요가 없을 때 break
를 사용하여 검색을 중단할 수 있습니다.
const numbers = [10, 20, 30, 40, 50];
const target = 30;
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] === target) {
console.log(`찾았습니다: ${target}`);
break; // 값 찾았으므로 반복 중단
}
}
// 출력: 찾았습니다: 30
5.2. 무한 루프에서 break
로 중단
while(true)
와 같은 무한 루프에서 break
를 사용하여 특정 조건에서 루프를 중단합니다.
let count = 0;
while (true) {
console.log(count);
count++;
if (count === 5) {
break; // 카운트가 5가 되면 무한 루프 중단
}
}
// 출력: 0, 1, 2, 3, 4
6. 주의사항
break
는 반복문과switch
문에서만 사용:break
는if
문에서 사용할 수 없습니다.break
는 오직 반복문과switch
문 내에서만 동작합니다.- 중첩된 반복문에서 주의:
break
는 가장 가까운 반복문만 중단합니다. 상위 반복문까지 중단하려면 레이블을 사용해야 합니다.
요약
break
문은 반복문이나switch
문을 즉시 중단하고 블록을 빠져나갈 때 사용됩니다.- 반복문에서 특정 조건에 도달했을 때 반복을 중단하고 다음 흐름으로 이동할 수 있습니다.
switch
문에서break
는 각case
를 분리하고, 필요한 블록만 실행되도록 제어합니다.- 중첩된 반복문에서
break
는 현재 반복문만 중단하며, 레이블을 사용해 상위 반복문을 중단할 수 있습니다.
break
문을 적절히 활용하면 반복문과 제어 흐름을 더욱 유연하게 제어할 수 있습니다.