프로그램언어 자바스크립트(JavaScript)에서의 switch 문의 기본 구조
프로그램언어 자바스크립트(JavaScript)에서의 switch 문은 여러 조건을 비교하여 해당하는 조건에 따라 코드 블록을 실행하는 제어문입니다. switch 문의 기본 구조는 다음과 같습니다.
switch (표현식) {
case 값1:
// 값1에 해당하는 코드
break;
case 값2:
// 값2에 해당하는 코드
break;
...
default:
// 위의 case에 해당하는 값이 없을 때 실행되는 코드
}
switch 문은 먼저 괄호 안의 표현식을 평가하고, 해당하는 case의 값과 비교합니다. 만약 일치하는 case가 없다면 default 블록이 실행됩니다. break 문을 사용하여 각 case 블록의 실행을 중지시키고 switch 문을 빠져나올 수 있습니다.
예를 들어, 사용자로부터 입력받은 숫자에 따라 요일을 출력하는 프로그램을 switch 문을 사용하여 작성할 수 있습니다.
<script>
let num = 3;
let day;switch (num) {
case 1:
day = "월요일";
break;
case 2:
day = "화요일";
break;
case 3:
day = "수요일";
break;
case 4:
day = "목요일";
break;
case 5:
day = "금요일";
break;
case 6:
day = "토요일";
break;
case 7:
day = "일요일";
break;
default:
day = "잘못된 입력";
}document.write("오늘은 " + day + "입니다.");
</script>
프로그램언어 자바스크립트(JavaScript)에서의 switch 문에서의 break 문
프로그램언어 자바스크립트(JavaScript)에서의 switch 문에서의 break 문은 switch 문 내에서 특정 case가 실행된 후 switch 블록을 빠져나가기 위해 사용됩니다. break 문이 없으면 해당 case가 실행된 후 다음 case들도 순차적으로 실행됩니다. 이를 방지하기 위해 break 문을 사용하여 switch 블록을 빠져나가게 됩니다.
예를 들어, switch 문에서 각 case 별로 특정 동작을 수행하고자 할 때, 각 case 블록의 마지막에 break 문을 추가하여 해당 case가 실행된 후 switch 블록을 빠져나가도록 할 수 있습니다.
let fruit = 'apple';
switch (fruit) {
case 'apple':
console.log('Selected fruit is apple');
break; // switch 블록을 빠져나감
case 'banana':
console.log('Selected fruit is banana');
break;
default:
console.log('Selected fruit is not apple or banana');
}
프로그램언어 자바스크립트(JavaScript)에서의 switch 문에서의 default 절
프로그램언어 자바스크립트(JavaScript)에서의 switch 문에서의 default 절은 switch 문에서 case 절에 해당하는 조건이 없을 때 실행되는 부분입니다.
default 절은 선택적으로 사용할 수 있으며, 모든 case 절에 해당하는 조건이 없을 때 default 절이 실행됩니다. 이를 통해 switch 문의 기능을 보완하고 예외 상황에 대비할 수 있습니다.
default 절은 switch 문의 마지막에 위치하며, 다음과 같은 형태로 작성됩니다.
switch (expression) {
case value1:
// 실행 코드
break;
case value2:
// 실행 코드
break;
default:
// default 실행 코드
}
만약 switch 문의 expression이 어떤 case 절의 value와도 일치하지 않는다면 default 절의 코드가 실행됩니다. 이를 통해 예외 처리나 기본 동작을 설정할 수 있습니다.
프로그램언어 자바스크립트(JavaScript)에서의 switch 문의 중첩 사용법
프로그램언어 자바스크립트(JavaScript)에서의 switch 문의 중첩 사용법은 switch 문 안에 다른 switch 문을 중첩하여 사용하는 것을 의미합니다. 이를 통해 여러 조건에 따라 다양한 경우를 처리할 수 있습니다.
예를 들어, 사용자의 권한에 따라 다른 메시지를 출력하는 프로그램을 작성한다고 가정해봅시다. 이때 중첩된 switch 문을 사용하여 권한에 따라 다른 동작을 수행할 수 있습니다.
let role = 'admin';
let action = 'view';switch (role) {
case 'admin':
switch (action) {
case 'view':
console.log('관리자용 페이지를 열었습니다.');
break;
case 'edit':
console.log('관리자용 페이지를 수정합니다.');
break;
default:
console.log('알 수 없는 동작입니다.');
}
break;
case 'user':
switch (action) {
case 'view':
console.log('사용자용 페이지를 열었습니다.');
break;
case 'edit':
console.log('사용자용 페이지를 수정합니다.');
break;
default:
console.log('알 수 없는 동작입니다.');
}
break;
default:
console.log('알 수 없는 권한입니다.');
}
프로그램언어 자바스크립트(JavaScript)에서의 switch 문에서의 폴스루 현상
프로그램언어 자바스크립트(JavaScript)에서 switch 문을 사용할 때 발생할 수 있는 폴스루(fall through) 현상은 각 case 문이 실행된 후에도 다음 case 문들이 순차적으로 실행되는 현상을 말합니다. 이는 break 문을 사용하지 않았을 때 발생하며, 의도치 않은 결과를 초래할 수 있습니다.
폴스루 현상을 방지하기 위해서는 각 case 문이 실행된 후에 break 문을 사용하여 switch 문을 종료시켜야 합니다. 만약 break 문을 사용하지 않으면, 해당 case가 실행된 후에도 다음 case들이 순차적으로 실행되어 예상치 못한 결과를 초래할 수 있습니다.
아래는 switch 문에서 폴스루 현상이 발생하는 예제 코드입니다.
let fruit = '사과';switch (fruit) {
case '사과':
console.log('사과를 선택했습니다.');
case '바나나':
console.log('바나나를 선택했습니다.');
case '딸기':
console.log('딸기를 선택했습니다.');
default:
console.log('다른 과일을 선택했습니다.');
}
위 예제 코드에서 ‘사과’를 선택했을 때, ‘사과를 선택했습니다.’만 출력되는 것이 아니라 ‘사과를 선택했습니다.’, ‘바나나를 선택했습니다.’, ‘딸기를 선택했습니다.’가 모두 출력됩니다. 이는 break 문이 없어서 발생하는 폴스루 현상입니다.