BioPlayground

🧬
목록으로

JavaScript 제어문 — if, switch

JavaScript에서 조건에 따라 다른 코드를 실행하는 방법을 이해합니다. if문과 switch문의 차이.

입문
|
5
|
검증 완료 (2026-07)
진행률0/9 (0%)

JavaScript 제어문 — if, switch

이 토픽을 마치면

if, else if, else로 조건 분기를 만들 수 있고, switch를 언제 쓰는지 판단할 수 있습니다.


조건에 따라 다르게 실행

프로그램은 항상 같은 일만 하지 않습니다. "로그인했으면 대시보드를 보여주고, 안 했으면 로그인 페이지를 보여줘" — 이런 분기를 만드는 것이 조건문입니다.

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("재시험");
}
// 출력: "B 등급"

if 뒤의 소괄호 안에 조건을 넣습니다. 조건이 true면 해당 블록이 실행되고, false면 다음 else ifelse로 넘어갑니다.

비교 연산자와 논리 연산자

조건문 안에서 값을 비교할 때 사용하는 기호들입니다.

javascript
// 비교 연산자
console.log(10 > 5);    // true
console.log(10 === 10);  // true  (값과 타입 모두 같은가)
console.log(10 == "10"); // true  (값만 같은가 — 쓰지 마세요)
console.log(10 !== 5);   // true  (같지 않은가)

// ⚠️ == 대신 === 을 쓰세요
// ==는 타입을 자동 변환해서 비교 → 예상 못한 결과 발생
console.log(0 == false);  // true  (위험!)
console.log(0 === false); // false (정확!)
javascript
// 논리 연산자 — 조건을 조합
const age = 25;
const hasTicket = true;

// AND: 둘 다 true여야 true
if (age >= 18 && hasTicket) {
  console.log("입장 가능");
}

// OR: 하나만 true여도 true
if (age < 13 || age >= 65) {
  console.log("할인 적용");
}

// NOT: true ↔ false 뒤집기
if (!hasTicket) {
  console.log("티켓을 구매하세요");
}

== 대신 ===을 쓰는 것은 JavaScript의 가장 기본적인 규칙입니다. ==는 타입을 자동 변환하면서 비교하기 때문에 예측하기 어려운 결과가 나옵니다.

switch — 값 하나로 여러 갈래

하나의 변수 값에 따라 여러 갈래로 나눌 때는 switch가 깔끔합니다.

javascript
const day = "월";

switch (day) {
  case "월":
  case "화":
  case "수":
  case "목":
  case "금":
    console.log("평일");
    break;
  case "토":
  case "일":
    console.log("주말");
    break;
  default:
    console.log("잘못된 입력");
}

break를 빼먹으면 다음 case까지 실행이 흘러내립니다(fall-through). 의도적으로 쓸 수도 있지만, 대부분은 실수입니다. break를 빼먹었는지 확인하는 습관을 들이세요.