자바스크립트

Switch문

창고관리장 2024. 1. 16. 19:26

 

자바스크립트의 switch문

 

switch문은 프로그램이 특정 표현식을 평가하고 그 값에 따라 다른 코드 블록을 실행한다. if문을 사용하는 경우가 더 많지만, 경우에 따라 가독성이 더 좋고 관리하기 쉬울 수 있다.

 

switch (expression) {
	case value1:
    	// value1과 일치할 때 실행되는 코드
        break;
    case value2:
    	// value2와 일치할 때 실행되는 코드   
        break;
    default:
    	// 위의 경우들을 모두 만족하지 않을 때 실행되는 코드
}

 

위 코드를 바탕으로 switch문의 작동 원리를 보면 다음과 같다.

  1. switch문은 괄호 안의 expression을 평가한다.
  2. case 키워드 뒤의 값과 expression의 결과를 비교한다.
  3. 일치하는 case 값을 찾으면, 해당 case 뒤의 코드 블록이 실행된다.
  4. break 키워드를 만나면, switch문의 실행이 종료된다.
  5. 만약 expression의 결과와 일치하는 case 값이 없다면, default 뒤의 코드 블록이 실행된다.

주의사항이 있는데, 각 case 뒤에는 break를 포함해야 한다. 만약 break가 없다면, 그 case 이후의 모든 코드 블록이 실행된다. 그리고 expression과 case의 값은 일치 연산자(===)로 비교된다. 즉, 값뿐만 아니라 타입도 일치해야 한다.

 

switch문의 default 키워드는 생략도 가능하다. 이 경우, switch문에서 어느 case에도 해당하지 않는다면 아무런 동작도 수행하지 않는다. 그래서 가급적 예기치 못한 입력에 대비해서 default를 사용하는 것이 에러를 방지하고, 코드의 안정성을 높여준다.

let fruit = 'apple';

switch (fruit) {
  case 'banana':
    console.log("I am a banana!");
    break;
  case 'apple':
    console.log("I am an apple!");
    break;
  default:
    console.log("I am not a fruit!");
}

 

위 예제를 실행하면 apple과 일치하는 case의 코드 블록이 실행되고, 콘솔에 "I am an apple!"이 출력된다.