🔀
EPISODE 02
if/else · switch · for · while · break/continue
제어문
조건 분기(if/else, 삼항, switch), 비교·논리 연산자, 반복문(for, while, do-while), 흐름 제어(break, continue, 단락 평가)를 익힙니다.
JavaScript조건문반복문
소요 시간
⏱ 30~60분
난이도
📊 초보
선수 조건
🎯 js-01
결과물
분기와 반복으로 작은 알고리즘 구현
이 강의에서 배우는 것
- 1if/else if/else로 다중 분기를 작성한다
- 2===와 !==를 ==/!= 대신 사용한다
- 3&& / || / ! 논리 연산자와 단락 평가를 활용한다
- 4switch로 다중 분기를 깔끔하게 처리한다
- 5for / while / for...of로 반복을 작성한다
1. if / else if / else
javascript
const 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학점");
}
// 삼항 연산자
const status = age >= 19 ? "성인" : "미성년자";2. 비교 연산자
| 연산자 | 의미 | 예시 | 결과 |
|---|---|---|---|
| === | 엄격한 같음 | 5 === "5" | false |
| !== | 엄격한 다름 | 5 !== "5" | true |
| == | 느슨한 같음 | 5 == "5" | true |
| > | 초과 | 10 > 5 | true |
| >= | 이상 | 5 >= 5 | true |
⚠️
== 대신 항상 ===를 사용하세요. 타입까지 비교하므로 더 안전합니다.
3. 논리 연산자
javascript
const isAdult = true;
const hasTicket = true;
console.log(isAdult && hasTicket); // true
const isWeekend = false;
const isHoliday = true;
console.log(isWeekend || isHoliday); // true
const isLoggedIn = false;
console.log(!isLoggedIn); // true단락 평가
javascript
// 기본값 패턴
const username = "";
const displayName = username || "손님"; // "손님"
// 옵셔널 패턴
const user = { name: "홍길동" };
const name = user && user.name; // "홍길동"4. switch
javascript
switch (day) {
case "월":
case "화":
case "수":
case "목":
case "금":
console.log("평일");
break;
case "토":
case "일":
console.log("주말");
break;
default:
console.log("잘못된 입력");
}⚠️
각 case마다 break를 빠뜨리면 다음 case까지 실행됩니다 (fall-through).
5. for 반복문
javascript
// 기본 for
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4
}
// for...of (값 순회, ES6+)
const fruits = ["사과", "바나나", "딸기"];
for (const fruit of fruits) {
console.log(fruit);
}6. while / do-while
javascript
let count = 0;
while (count < 5) {
console.log(count);
count++;
}
// 조건 확인 전에 최소 1회 실행
let num = 0;
do {
console.log(num);
num++;
} while (num < 0);7. break / continue
javascript
for (let i = 0; i < 10; i++) {
if (i === 5) break; // 즉시 종료
console.log(i); // 0~4
}
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) continue; // 짝수 건너뜀
console.log(i); // 1, 3, 5, 7, 9
}