본문 바로가기
javascript

switch 예시, 유용하게 쓰이는 상황

by momomoo 2024. 5. 1.

switch 문은 다양한 경우(case)에 따라 다른 동작을 수행할 때 유용하게 사용

 

- 이미 나온 값을 다양한 경우로 돌릴때

- 정확한 값을 비교하는 경우

- 다른 조건문, 함수의 나온 값을 경우로 나눌 때

- 다양한경우의 다른동작, 숫자 범위 처리, 입력된 입력상태에 따른 다른 동작

 

 

1.사용자 입력처리

사용자가 입력한 값을 기반으로 다른 동작을 수행하는 경우

let userInput = prompt("Enter a fruit name:").toLowerCase();

switch (userInput) {
    case "apple":
        console.log("You selected apple.");
        break;
    case "banana":
        console.log("You selected banana.");
        break;
    case "orange":
        console.log("You selected orange.");
        break;
    default:
        console.log("Unknown fruit.");
}

 

 

 

2.상태에 따른 처리

특정 상태에 따라 다른 동작을 수행해야 할 때

let status = "error";

switch (status) {
    case "success":
        console.log("Operation succeeded.");
        break;
    case "error":
        console.log("Operation failed.");
        break;
    case "pending":
        console.log("Operation is pending.");
        break;
    default:
        console.log("Unknown status.");
}

 

 

3. 숫자 범위 처리:

특정 숫자 범위에 따라 다른 동작을 수행할 때

let score = 85;

switch (true) {
    case score >= 90:
        console.log("Grade: A");
        break;
    case score >= 80:
        console.log("Grade: B");
        break;
    case score >= 70:
        console.log("Grade: C");
        break;
    case score >= 60:
        console.log("Grade: D");
        break;
    default:
        console.log("Grade: F");
}

 

 

 

 

 

 

 

 

 

 

 

추가예시 

let dayOfWeek = "Wednesday";

switch (dayOfWeek) {
    case "Monday":
        console.log("Start of the week.");
        break;
    case "Tuesday":
    case "Wednesday":
    case "Thursday":
        console.log("Midweek.");
        break;
    case "Friday":
        console.log("Almost there!");
        break;
    case "Saturday":
    case "Sunday":
        console.log("Weekend!");
        break;
    default:
        console.log("Invalid day.");
}

 

 

 

 

 

 

 

 

함수와 switch 문의 결합예시

-함수의 반환 값에 따라 다른 동작을 수행할 때

function getDayOfWeek(date) {
    // 주어진 날짜(date)에 따라 요일을 반환하는 함수
    // 이 함수는 실제 구현되어 있다고 가정합니다.
}

let today = new Date();
let dayOfWeek = getDayOfWeek(today);

switch (dayOfWeek) {
    case "Monday":
        console.log("Start of the week.");
        break;
    case "Tuesday":
    case "Wednesday":
    case "Thursday":
        console.log("Midweek.");
        break;
    case "Friday":
        console.log("Almost there!");
        break;
    case "Saturday":
    case "Sunday":
        console.log("Weekend!");
        break;
    default:
        console.log("Invalid day.");
}

 

 

 

 

 

 

 

 

 

 

조건문과 switch 문의 결합 예시

-여러 조건문을 결합하여 다양한 경우에 대응할 때

let age = 25;
let isStudent = false;

switch (true) {
    case age < 18:
        console.log("Underage.");
        break;
    case age >= 18 && age < 30 && isStudent:
        console.log("Young student.");
        break;
    case age >= 18 && age < 30 && !isStudent:
        console.log("Young adult.");
        break;
    case age >= 30:
        console.log("Adult.");
        break;
    default:
        console.log("Unknown.");
}

 

 

 

 

switch 문은 여러 가지 경우(case)에 따라 다른 동작을 수행하는데 유용하지만,

다양한 조건을 처리할 때는 몇 가지 제한이 있을 수 있습니다.

범위나 복잡한 조건을 다루는데는 적합하지 않을 수 있습니다.

복잡한 조건을 다룰 때는 if...else if...else 구문이 더 유연하고 적합할 수 있습니다.