티스토리 뷰
목차
프로그래밍을 하다 보면, 코드를 단순히 순차적으로 실행하는 것만으로는 부족할 때가 많습니다. 특정 조건에 따라 다른 동작을 하거나, 같은 코드를 반복 실행해야 할 때도 있습니다. 이럴 때 우리가 사용하는 것이 바로 제어문입니다. 제어문은 코드의 흐름을 제어하는 역할을 하며, JavaScript에서도 매우 중요한 기능 중 하나입니다.
이번 포스팅에서는 JavaScript의 제어문을 쉽게 설명하고, 이를 어떻게 활용할 수 있는지 살펴보겠습니다.
※ 제어문이란?
제어문이란 프로그램의 실행 흐름을 제어하는 문법 구조를 말합니다. 제어문을 사용하면 조건에 따라 코드를 실행하거나, 특정 작업을 반복할 수 있습니다. JavaScript에서 제어문은 크게 조건문과 반복문으로 나눌 수 있습니다.
그럼 각각의 제어문이 어떻게 동작하는지 하나씩 살펴볼까요?
1. 조건문
: 상황에 따라 다른 동작을 수행하기
조건문은 특정 조건을 평가하여, 그 조건이 참(true)일 때와 거짓(false)일 때 각각 다른 코드를 실행하게 만듭니다. JavaScript에서 가장 기본적인 조건문은 if 문입니다.
▶ if 문
if 문은 조건이 참일 때만 특정 코드를 실행합니다. 예를 들어, 사용자가 입력한 나이가 18세 이상이면 "성인입니다"라는 메시지를 출력하고, 그렇지 않으면 아무 것도 하지 않도록 할 수 있습니다.
let age = 20;
if (age >= 18) {
console.log("성인입니다.");
}
위 코드에서 age가 18 이상이기 때문에 "성인입니다."라는 메시지가 출력됩니다. 만약 age가 18 미만이라면 아무 일도 일어나지 않습니다.
▶ if...else 문
때로는 조건이 참일 때와 거짓일 때 각각 다른 동작을 해야 할 때가 있습니다. 이럴 때 if...else 문을 사용합니다. 예를 들어, 사용자가 성인인지 아닌지에 따라 다른 메시지를 출력할 수 있습니다.
let age = 16;
if (age >= 18) {
console.log("성인입니다.");
} else {
console.log("미성년자입니다.");
}
여기서는 age가 18 미만이므로 "미성년자입니다."라는 메시지가 출력됩니다.
▶ if...else if...else 문
여러 조건을 평가하고, 그에 따라 여러 가지 결과를 출력하고 싶을 때는 if...else if...else 문을 사용합니다. 예를 들어, 점수에 따라 학점을 부여하는 코드를 작성할 수 있습니다.
let score = 85;
if (score >= 90) {
console.log("A 학점입니다.");
} else if (score >= 80) {
console.log("B 학점입니다.");
} else if (score >= 70) {
console.log("C 학점입니다.");
} else {
console.log("F 학점입니다.");
}
이 코드에서 score가 85이기 때문에 "B 학점입니다."라는 메시지가 출력됩니다.
▶ switch 문
여러 가지 경우의 수에 따라 다른 동작을 해야 할 때는 switch 문을 사용하는 것이 더 간결할 수 있습니다. 예를 들어, 요일에 따라 다른 메시지를 출력하는 코드를 작성해볼까요?
let day = "월요일";
switch (day) {
case "월요일":
console.log("주간의 시작입니다.");
break;
case "금요일":
console.log("주말이 곧 다가옵니다!");
break;
case "토요일":
case "일요일":
console.log("즐거운 주말입니다!");
break;
default:
console.log("평범한 하루입니다.");
}
위 코드에서는 day가 "월요일"이므로 "주간의 시작입니다."라는 메시지가 출력됩니다. switch 문은 여러 가지 케이스를 한 번에 다룰 수 있어, 조건이 많을 때 유용합니다.
2. 반복문
: 같은 작업을 여러 번 수행하기
반복문은 특정 작업을 여러 번 반복해서 실행해야 할 때 사용합니다. JavaScript에서 가장 기본적인 반복문은 for 문과 while 문입니다.
▶ for 문
for 문은 일정한 횟수만큼 반복할 때 사용합니다. 예를 들어, 1부터 5까지 숫자를 차례로 출력하는 코드를 작성해볼까요?
for (let i = 1; i <= 5; i++) {
console.log(i);
}
위 코드에서는 i가 1부터 시작해 5가 될 때까지 1씩 증가하며, 각 숫자가 차례로 출력됩니다. for 문은 반복할 횟수가 명확할 때 매우 유용합니다.
▶ while 문
while 문은 조건이 참인 동안 계속해서 반복합니다. 예를 들어, 사용자가 0이 아닌 숫자를 입력할 때까지 반복해서 입력을 받는 코드를 작성해볼까요?
let number = 0;
while (number !== 0) {
number = prompt("0이 아닌 숫자를 입력하세요:");
}
이 코드는 사용자가 0을 입력할 때까지 계속해서 입력을 받습니다. while 문은 반복할 횟수가 정해지지 않았거나, 조건에 따라 반복을 멈추고 싶을 때 유용합니다.
▶ do...while 문
do...while 문은 while 문과 비슷하지만, 조건을 나중에 검사하기 때문에 코드 블록이 최소한 한 번은 실행됩니다. 예를 들어, 사용자가 한 번은 무조건 숫자를 입력하도록 강제하는 코드를 작성해볼까요?
let number;
do {
number = prompt("숫자를 입력하세요:");
} while (number === 0);
이 코드는 사용자가 0을 입력하더라도, 최소한 한 번은 무조건 입력을 요구합니다. 이후 0이 아닌 숫자가 입력될 때까지 반복됩니다.
3. 반복문 제어
: 반복문을 제어하는 방법
때로는 반복문을 중간에 멈추거나, 다음 반복으로 건너뛰고 싶을 때가 있습니다. 이럴 때 break와 continue 키워드를 사용합니다.
▶ break
*break*는 반복문을 중간에 멈추고, 반복문을 즉시 종료시킵니다. 예를 들어, 1부터 10까지 숫자를 출력하다가, 5에서 멈추고 싶다면 다음과 같이 할 수 있습니다.
for (let i = 1; i <= 10; i++) {
if (i === 5) {
break;
}
console.log(i);
}
이 코드는 1부터 4까지 출력된 후, i가 5가 되면 break 문이 실행되어 반복이 종료됩니다.
▶ continue
*continue*는 현재 반복을 건너뛰고, 다음 반복을 시작합니다. 예를 들어, 1부터 10까지의 숫자 중 홀수만 출력하고 싶다면 다음과 같이 할 수 있습니다.
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
continue;
}
console.log(i);
}
이 코드는 짝수일 때 continue 문이 실행되어 해당 반복을 건너뛰고, 홀수만 출력됩니다.
4. 제어문을 잘 사용하는 방법
제어문은 코드를 더 유연하고 강력하게 만들어주는 도구입니다. 하지만 제어문을 잘못 사용하면 코드가 복잡해지고, 이해하기 어려워질 수 있습니다. 제어문을 사용할 때는 다음과 같은 점을 염두에 두세요.
- 명확한 조건 설정 → 조건문에서는 조건을 명확하게 설정하는 것이 중요합니다. 너무 많은 else if 문을 사용하면 코드가 복잡해질 수 있으므로, 가능한 간결하게 작성하세요.
- 불필요한 반복 피하기 → 반복문을 사용할 때, 불필요하게 많은 반복을 피해야 합니다. 조건을 잘못 설정하면 무한 루프에 빠질 수 있으므로 주의하세요.
- break와 continue 신중하게 사용하기 → break와 continue는 강력한 도구이지만, 남용하면 코드가 읽기 어려워질 수 있습니다. 필요한 경우에만 신중하게 사용하세요.
JavaScript의 제어문은 코드의 흐름을 제어하고, 프로그램을 더 유연하게 만드는 데 필수적인 도구입니다. 조건문을 사용해 다양한 상황에 맞게 코드를 실행하고, 반복문을 통해 효율적으로 작업을 반복할 수 있습니다.
이번 포스팅을 통해 제어문의 기본 개념과 사용 방법을 이해하고, 여러분의 코드에 적용해 보세요. 제어문을 능숙하게 다루면 더 강력하고 유연한 프로그램을 작성할 수 있습니다.