JavaScript - Break 문구: 루프와 스위치에서 탈출구
안녕하세요, 미래의 코딩 슈퍼스타! 오늘 우리는 JavaScript의 작은 트릭 중 하나에 대해 알아보겠습니다: break
문구. 이를 당신의 "긴급 탈출 버튼"으로 생각해보세요. 루프나 스위치 문구에서 틀어박혔을 때 사용하는 것입니다. 시작해보겠습니다!
Break 문구는 무엇인가요?
break
문구는 루프나 스위치 문구에서 탈출하기 위한的东西입니다. JavaScript에게 "이제 그만, 나가자!"라고 알립니다. JavaScript가 break
를 보면, 현재 루프나 스위치 문구를 즉시 종료하고 루프나 스위치 뒤의 다음 코드 줄로 이동합니다.
문법
break
문구의 문법은 매우 간단합니다:
break;
이것만! 그러나 이 간단한 키워드는 강력합니다!
흐름도
break
문구가 루프에서 어떻게 작동하는지 시각화해보겠습니다:
┌─────────────┐
│ 루프 시작 │
└──────┬──────┘
│
┌──────▼──────┐
│ 조건 검사 │
┌────┤ │
│ └──────┬──────┘
│ │ true
│ ┌──────▼──────┐
│ │ 루프 본문 실행 │
│ │ │
│ └──────┬──────┘
│ │
│ ┌──────▼──────┐
│ │ Break 발견? │
│ └──────┬──────┘
│ │ yes
│ ┌──────▼──────┐
└────► 루프 종료 │
└─────────────┘
예제: Break 문구와 For 루프
먼저 전형적인 예제로 break
를 for
루프에서 사용하는 방법을 알아보겠습니다. 당신이 교사(저처럼!)로서 시험지를 검토하고 있다고 상상해보세요. 첫 번째로 100점을 받은 학생을 찾고 그 후 검토를 중지하고 싶습니다.
let scores = [85, 92, 78, 100, 88, 95];
let perfectScore = false;
for (let i = 0; i < scores.length; i++) {
if (scores[i] === 100) {
console.log(" 완벽한 점수가 발견되었습니다: " + i);
perfectScore = true;
break;
}
}
if (!perfectScore) {
console.log(" 완벽한 점수가 없습니다.");
}
이 예제에서 우리는 scores
배열을 루프합니다. 100점을 발견하면 그 위치를 기록하고, perfectScore
를 true
로 설정한 후 break
로 루프를 종료합니다. 이는 나머지 점수를 불필요하게 검토하는 것을 방지합니다.
예제: Break 문구와 While 루프
이제 while
루프에서 break
를 사용하는 방법을 알아보겠습니다. 1에서 10 사이의 숫자를 맞추는 추측 게임을 상상해보세요.
let secretNumber = 7;
let guess;
let attempts = 0;
while (true) {
guess = Math.floor(Math.random() * 10) + 1;
attempts++;
console.log("시도 " + attempts + ": 추측 " + guess);
if (guess === secretNumber) {
console.log("정답! " + attempts + "번 시도에 맞추었습니다.");
break;
}
if (attempts >= 10) {
console.log("죄송합니다, 최대 시도 횟수에 도달했습니다.");
break;
}
}
이 예제에서 우리는 무한 while
루프(while true
)를 사용합니다. 우리는 두 가지 상황에서 루프를 종료합니다: 정답을 맞춘 경우와 최대 시도 횟수에 도달한 경우.
Break 문구와 중첩 루프
break
는 중첩 루프에서 더욱 강력해집니다. 중첩 루프를 종료하고 외부 루프로 이동할 수 있습니다. 예를 들어, 작은 토너먼트를 조직하고 동일한 실력 수준의 쌍을 찾고 싶다면:
let players = [
{name: "Alice", skill: 7},
{name: "Bob", skill: 9},
{name: "Charlie", skill: 5},
{name: "David", skill: 7}
];
outerLoop: for (let i = 0; i < players.length; i++) {
for (let j = i + 1; j < players.length; j++) {
if (players[i].skill === players[j].skill) {
console.log("매칭 발견: " + players[i].name + "와 " + players[j].name);
break outerLoop;
}
}
}
여기서 우리는 외부 루프에 레이블(outerLoop:
)을 추가하고 이 레이블을 break
문구에 지정하여 동시에 여러 루프를 종료할 수 있습니다.
Break 문구와 Switch Case 문구
마지막으로, switch
문구에서 break
가 어떻게 작동하는지 살펴보겠습니다. 간단한 계산기 작성 중입니다:
let operation = '+';
let num1 = 5, num2 = 3;
let result;
switch (operation) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
default:
console.log("잘못된 연산");
break;
}
console.log("결과: " + result);
switch
문구에서 break
는 매우 중요합니다. 그렇지 않으면 JavaScript는 다음 케이스를 실행할 것입니다. 이를 "fall-through" 행동이라고 합니다.
Break 문구 사용 방법 요약
여기서 다양한 방법으로 break
를 사용할 수 있는 빠른 참조 표를 제공합니다:
문맥 | 사용 | 설명 |
---|---|---|
For 루프 | break; |
for 루프를 즉시 종료합니다 |
While 루프 | break; |
while 루프를 즉시 종료합니다 |
중첩 루프 | break labelName; |
여러 루프를 동시에 종료합니다 |
Switch 문구 | break; |
switch 문구를 종료합니다 |
그리고 여러분! break
문구는 작지만 강력합니다. 코드의 흐름을 제어하여 더 효율적이고 가독성이 높은 코드를 작성할 수 있습니다. 코드 작성은 요리와 같습니다 - 때로는 저어야 할 때와 그만 두고 냄비를 떼야 할 때를 알아야 합니다. break
는 JavaScript에서 그 역할을 합니다!
이제 코드에서 break
를 사용하여 새로운 것을 시도해보세요! 즐겁게 코딩하세요!
Credits: Image by storyset