티스토리 뷰

안녕하세요. 이번에 배울 스위치 키워드는 아주 편리한 녀석입니다. 갑시다!

 

The swith keyword

설명에 앞서 김밥천국의 가격 코드를 else if 문으로 보고 가겠습니다.

let specificKimbab = '땡초김밥';

if (specificKimbab === '야채김밥') {
	console.log('야채김밥 2,000원');
} else if (specificKimbab === '치즈김밥') {
	console.log('치즈김밥 2,500원');
} else if (specificKimbab === '소고기김밥') {
	console.log('소고기김밥 3,000원');
} else if (specificKimbab === '땡초김밥') {
	console.log('땡초김밥 3,000원');
} else {
	console.log('없는 메뉴입니다. 다시 골라주세요!');
}

// 출력 : 땡초김밥 3,000원

이렇게 김밥천국 메뉴의 가격코드를 만들어 봤는데요, 하지만 김밥천국에는 메뉴가 엄청나게 다양하죠? 보통 30가지가 넘는 메뉴들이 있기 때문에 이걸 하나씩 코드로 다 작성하면 상당히 시간이 오래 걸리는데 이것을 간결하고 짧게 만들어 주는 기능이 있는데, 바로 스위치 키워드를 이용하는 것 입니다.

// The Switch Keyword

let specificKimbab = '땡초김밥';

switch (specificKimbab) {
  case '야채김밥':
    console.log('야채김밥 2,000원');
    break;
  case '치즈김밥':
    console.log('치즈김밥 2,500원');
    break;
  case '소고기김밥':
    console.log('소고기김밥 3,000원');
    break;
  case '땡초김밥':
    console.log('땡초김밥 3,000원');
    break;
  default:
    console.log('없는 메뉴입니다. 다시 골라주세요!');
    break;
}

// 출력 : 땡초김밥 3,000원

어때요? 아까 보다 훨씬 간결해졌죠? if 자리에 switch를 넣고 specificKimbab을 다시 쓰지 않고도 출력이 잘 되는 것을 확인할 수 있습니다. 

 

해석

위에서부터 아래로 코드를 읽어 볼게요. 

자 집중해 을 해볼 거야, 지금부터 (specificKimbab)이

   이런경우 야채김밥이면

      '야채김밥 2,000원'을 출력해줘;

      중지;

  이런경우 치즈김밥이면

      '치즈김밥 2,500원'을 출력해줘;

      중지;

  이런경우 소고기김밥이면

      '소고기김밥 3,000원'을 출력해줘;

      중지;

  이런경우 땡초김밥이면

      '땡초김밥 3,000원'을 출력해줘;

      중지;

   이것도 저것도 아니면, 기본 값

      '없는 메뉴입니다. 다시 골라주세요!'를 출력해줘;

      중지;

   

새로운 단어 설명

처음 보는 switch와 case, :(colon), break에 대해 설명을 드리겠습니다. 

  • switchif 대신에 쓰인 건데 '경우의 수들을 왔다가 갔다가 전환하라'라고 생각하시면 이해가 편합니다. 

이렇게 switch로 왔다갔다 '참'인 값을 찾을 때까지 왔다갔다

  • case는 영어 사전에서 찾아보면 (특정한 상황의) 경우라는 뜻을 가지고 있는데 말 그대로 이런 경우라고 보시면 되겠습니다.
  • : (colon)은 ~이면이라고 생각을 해주시면 (정확한 뜻 아닙니다!!!)  코드를 읽어 내려가는데 도움이 됩니다.
  • break은 영어 사전에 찾아보면 쉬다, 중단시키다 등등 뜻이 많죠? 여기서는 '참인 값을 찾았으면 그 코드 블록을 빠져나가!'라는 뜻입니다. 예를 들어 위의 코드에서 break을 쓰지 않는다면, 컴퓨터가 '땡초김밥'이라는 참인 값을 찾고도 코드 블록을 빠져나가지 못해 default 값까지 출력을 시켜버립니다.
  • defaultcase가 사용된 문장 중에 참인 값이 없으면 실행이 되는 녀석입니다.

오늘의 느낌

내용이 어렵지는 않은데 설명을 하다가 보니 말이 길어졌네요 ㅎㅎ. 오늘 저녁으로 닭 가슴살 카츠에 카레 파스타를 먹었는데, 양파잼 만들듯이 카라멜 라이즈 하다가 일본식 카레 블록 넣고 물 넣고 로제 파스타 소스 조금 넣고 먹으니까 엄청나게 맛있네요. 한번 드셔 보세용ㅋㅋㅋ

'JavaScript' 카테고리의 다른 글

[JavaScript] Parameters and Arguments  (0) 2021.09.11
[JavaScript] Function  (0) 2021.09.10
[JavaScript] Else If Statements  (0) 2021.09.06
[JavaScript] Ternary Operator  (0) 2021.09.06
[JavaScript] Truthy and Falsy  (0) 2021.09.05
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함