Dseok의 실전 예제로 웹개발 한방에 끝내기

웹개발, 혼자 하려니 막막하고 힘드시죠? 저 또한 그렇습니다. 힘든 웹개발... 실전 예제를 통해 함께 공부해요!!!!😁📕

Javascript

[Dseok의 코딩스터디] 자바스크립트 switch문

Dseok 2025. 2. 19. 13:26
반응형
SMALL

여러 경우를 비교해야 할 때 if보다 가독성이 좋은 switch문을 활용해 보세요!
오늘은 switch문의 기본 문법부터 실전 예제까지 완벽하게 마스터하는 시간을 가져봅니다.


1️⃣ switch문이란?

switch문은 하나의 값과 여러 개의 경우(case)를 비교하여 실행할 코드를 결정하는 제어문입니다.
즉, 특정 변수의 값에 따라 실행할 코드 블록을 다르게 할 때 사용합니다.

✅ switch문 기본 문법

switch (값) {
  case 값1:
    // 실행할 코드
    break;
  case 값2:
    // 실행할 코드
    break;
  default:
    // 위의 값과 일치하는 경우가 없을 때 실행할 코드
}
  • switch 안의 과 case 안의 값1, 값2, ...`을 비교합니다.
  • break를 만나면 switch문을 빠져나갑니다.
  • default는 모든 case와 일치하지 않을 때 실행됩니다. (옵션)

2️⃣ switch문 예제 🚀

✅ 예제 1: 요일에 따라 메시지 출력하기

const day = new Date().getDay(); // 오늘의 요일 (0: 일요일 ~ 6: 토요일)

switch (day) {
  case 0:
    console.log("오늘은 일요일입니다.");
    break;
  case 1:
    console.log("오늘은 월요일입니다.");
    break;
  case 2:
    console.log("오늘은 화요일입니다.");
    break;
  case 3:
    console.log("오늘은 수요일입니다.");
    break;
  case 4:
    console.log("오늘은 목요일입니다.");
    break;
  case 5:
    console.log("오늘은 금요일입니다.");
    break;
  case 6:
    console.log("오늘은 토요일입니다.");
    break;
  default:
    console.log("잘못된 요일입니다.");
}

📌 new Date().getDay()를 사용하면 오늘의 요일을 숫자로 가져옵니다.
📌 case 뒤의 값이 day와 일치하는 경우 해당 코드 블록이 실행됩니다.
📌 break를 넣지 않으면 다음 case도 실행되므로 반드시 필요합니다.


✅ 예제 2: 사용자의 입력에 따라 동작 수행하기

const command = prompt("명령을 입력하세요 (start, stop, pause)");

switch (command) {
  case "start":
    console.log("게임을 시작합니다!");
    break;
  case "stop":
    console.log("게임을 종료합니다.");
    break;
  case "pause":
    console.log("게임을 일시 정지합니다.");
    break;
  default:
    console.log("알 수 없는 명령입니다.");
}

📌 prompt()를 이용해 사용자의 입력을 받고, 입력 값에 따라 실행되는 메시지가 달라집니다.
📌 default 문을 활용해 예외 처리도 할 수 있습니다.


3️⃣ switch문의 활용도 높은 패턴

✅ 예제 3: case를 묶어서 사용하기

const score = 85;

switch (true) {
  case score >= 90:
    console.log("A 학점입니다.");
    break;
  case score >= 80:
    console.log("B 학점입니다.");
    break;
  case score >= 70:
    console.log("C 학점입니다.");
    break;
  default:
    console.log("D 학점입니다.");
}

📌 switch (true) 패턴을 사용하면 if-else 없이 여러 조건을 처리할 수 있습니다.
📌 case score >= 90:처럼 논리 표현식도 활용 가능합니다.
📌 이 방식은 점수 계산, 가격대 비교, 연령대 분류 등에 유용하게 사용할 수 있습니다.


✅ 예제 4: break 없이 연속 실행하기

const fruit = "apple";

switch (fruit) {
  case "apple":
  case "strawberry":
    console.log("빨간색 과일입니다.");
    break;
  case "banana":
  case "mango":
    console.log("노란색 과일입니다.");
    break;
  default:
    console.log("색을 알 수 없는 과일입니다.");
}

📌 case를 여러 개 묶으면 중복된 코드 없이 처리할 수 있습니다.
📌 apple과 strawberry는 같은 코드 블록을 실행합니다.
📌 break를 만나기 전까지 실행되므로 꼭 필요한 곳에 break를 넣어야 합니다.


4️⃣ switch문 vs if-else문, 언제 사용할까?

🔹 구분🔹 switch🔹 if-else

비교 대상 하나의 변수 값과 여러 경우 비교 여러 조건문을 비교 가능
가독성 많은 경우를 비교할 때 더 깔끔함 간단한 조건문 처리에 적합
논리 표현식 switch (true) 패턴을 사용하면 가능 논리 표현식 자유롭게 사용 가능
성능 case가 많아지면 속도 저하 가능성 있음 조건이 복잡할수록 코드 길어질 수 있음

📌 여러 개의 값과 비교할 때는 switch
📌 범위 비교나 복잡한 논리 연산이 필요할 때는 if-else


5️⃣ 마무리 🎯

  • switch문은 하나의 값과 여러 경우를 비교할 때 유용하다.
  • break를 반드시 사용하여 실행을 중단해야 한다.
  • case를 묶어 중복 코드 없이 처리할 수도 있다.
  • switch (true) 패턴을 활용하면 if-else처럼 사용할 수 있다.
  • 단순 값 비교는 switch, 복잡한 논리는 if-else를 사용하자!

💡 오늘 배운 switch문을 활용해서 다양한 예제를 직접 작성해 보세요!
💡 여러분만의 활용법이 있다면 댓글로 공유해 주세요! 😉

반응형
LIST