모두 오랜만입니다. 이번 강좌에서는 자바스크립트의 선택문인 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 |