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 구문이 더 유연하고 적합할 수 있습니다.
'javascript' 카테고리의 다른 글
일차원 배열, 2차원 배열 (0) | 2024.05.01 |
---|---|
console.log, return , 안쓸 때 차이점 (0) | 2024.05.01 |
단일 표현식 (2) | 2024.05.01 |
함수의 전역스코프, 지역스코프 (0) | 2024.05.01 |
바닐라자바스크립트 프로젝트 예시 찾기 (0) | 2024.05.01 |