본문 바로가기

메봇 강좌

3.4.switch문의 사용법

모두 오랜만입니다. 이번 강좌에서는 자바스크립트의 선택문인 switch문의 사용법에 대해 알아보겠습니다.

 

사용 용도상의 선택문과 조건문의 차이는 다음과 같습니다.

조건문(if문)은 조건의 값이 여러개일 때 주로 쓰이고, 선택문은 여러 값들 중에서 특정 값에 해당하는 코드를 실행시킬 때 주로 사용됩니다.

 

물론 if(){}else if(){} 문을 여러 개 이어붙여 비슷한 기능을 하게 할 수 있으나 switch문도 알아두면 편합니다.

 

switch문의 기본형은 아래와 같습니다.

var 변수명 = 초깃값;

switch(변수명){
  case 값1: 코드;
  break;
  case 값2: 코드;
  break;
  case 값3: 코드;
  break;
  
  default: 코드;
}

변수의 값과 case들의 값들을 위에서부터 비교해 본 뒤 일치하는 case를 만나면 거기에 해당하는 코드를 실행하고 난 뒤 break문을 만나 switch문을 종료합니다.

만약 일치하는 case가 없다면 마지막에 default의 코드를 실행하고 종료합니다.

 

여기서 의문이 하나 드실 수도 있습니다.

'break문은 코드를 종료한다고 하셨었는데, 그러면 1번째 case를 검사한 뒤 바로 종료되지 않나요?'

좋은 질문입니다.

break문들은 전부 case문들의 코드 부분에 포함되는 것이기에 case가 실행되지 않는다면 break도 실행되지 않습니다.

 

이해하기 어려우실 테니 간단한 예제로 설명해보죠.

var a = "안녕";

switch(a){
  case "반가워" : replier.reply("반갑습니다.");
  replier.reply("ㅎㅎ");
  break;
  case "뭐해" : replier.reply("몰라요(?)");
  break;
  case "안녕" : replier.reply("안녕하세요!");
  break;
  
  default: break;
}

변수 a가 "안녕" 이므로 case "안녕"을 만나면 그에 해당하는 코드인

replier.reply("안녕하세요!");
break;

를 실행하여 안녕하세요! 를 채팅방에 전송한 뒤 종료합니다.

 

만약에 변수 a가 "반가워" 였다면 반갑습니다. 와 ㅎㅎ 를 채팅방에 전송한 뒤 종료했겠죠.

 

또, 만약 변수 a가 3개의 case중 무엇과도 일치하지 않았다면 default를 만나 break문을 실행하고 아무것도 하지 않은 상태로 종료합니다.

 

당연한 말이지만, case의 갯수는 몇 개가 되든 상관없습니다.

(0개 말고요.)

(그렇다고 어마어마하게 많이 넣진 마세요.)

 

 

이번 강좌에서는 switch문의 사용법에 대해 알아보았습니다.

 

다음 강좌부터는 메신저봇r의 각종 Api들에 대해 알아보겠습니다.

감사합니다 :)

'메봇 강좌' 카테고리의 다른 글

5.1.메신저봇r의 Api 설명  (7) 2020.05.03
5.메신저봇r이 지원하는 기능들  (0) 2020.05.03
4.4.문자열 객체의 사용법  (2) 2020.04.19
4.3.배열 객체의 사용법  (0) 2020.04.05
4.2.날짜 객체 사용법  (3) 2020.04.05