이 단원에서는 프로그램이 주어진 조건에 따라 서로 다른 동작을 하도록 만드는 조건문을 학습합니다. JavaScript에서 조건문은 매우 중요한 흐름 제어 도구입니다. if, else if, else, switch 문을 중심으로 각각의 문법과 사용 방법을 단계별로 익히고, 실무에서 자주 사용하는 예제도 함께 확인합니다.
if (조건식) {
// 조건이 참(true)이면 이 블록의 코드가 실행됩니다.
}
let age = 20;
if (age >= 18) {
console.log('성인입니다.');
}
let answer = 'yes';
if (answer === 'yes') {
console.log('사용자가 동의했습니다.');
}
if 블록이 실행되고,else 블록이 실행됩니다.if (조건) {
// 조건이 참일 때 실행
} else {
// 조건이 거짓일 때 실행
}
let isLoggedIn = false;
if (isLoggedIn) {
console.log('환영합니다!');
} else {
console.log('로그인 해주세요.');
}
let number = -5;
if (number >= 0) {
console.log('양수입니다.');
} else {
console.log('음수입니다.');
}
else 블록이 실행됩니다.if (조건1) {
// 조건1이 참이면 실행
} else if (조건2) {
// 조건2가 참이면 실행
} 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('불합격');
}
let age = 20;
let isMember = true;
if (age >= 18) {
if (isMember) {
console.log('성인 멤버입니다.');
} else {
console.log('성인이지만 멤버가 아닙니다.');
}
} else {
console.log('미성년자입니다.');
}
if-else 문이 여러 번 반복될 때 보다 가독성 좋게 사용할 수 있습니다.switch (값) 안의 값이 어떤 case와 일치하는지 비교합니다.case를 만나면 그 아래 코드를 실행합니다.break는 switch 블록을 빠져나가는 역할을 합니다. 없으면 다음 case도 계속 실행됩니다 (fall-through 현상).default는 어떤 case도 일치하지 않을 때 실행됩니다. 생략 가능하지만 종종 사용됩니다.switch (값) {
case 값1:
// 값이 값1일 때 실행
break;
case 값2:
// 값이 값2일 때 실행
break;
default:
// 어떤 값도 해당하지 않을 때 실행
}
let day = 3;
switch (day) {
case 1:
console.log('월요일');
break;
case 2:
console.log('화요일');
break;
case 3:
console.log('수요일');
break;
case 4:
console.log('목요일');
break;
default:
console.log('금요일 또는 주말입니다.');
}
| 구분 | switch | if-else |
|———–|——|—————————–|
| 비교 대상 | 하나의 값에 대해 여러 경우(case) 비교 | 다양한 조건(비교식, 논리식 등)을 자유롭게 사용 |
| 가독성 | 값이 일정하고 경우의 수가 명확하면 가독성 좋음 | 다양한 조건을 다룰 때 적합 |
| 사용 가능 비교식 | ===(엄격한 비교)만 사용됨 | >, <, !=, &&, ∥ |
| fall-through | break가 없으면 다음 case까지 실행됨 | 조건 충족 시 바로 종료 |
if는 하나 또는 여러 조건을 판단할 때 사용하며, else if, else를 조합해 다양한 상황을 처리할 수 있습니다.switch는 값이 정해져 있고 그에 따라 동작이 나뉘는 경우에 적합합니다.