티스토리 뷰
안녕하세요. 이번에 배울 스위치 키워드는 아주 편리한 녀석입니다. 갑시다!
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에 대해 설명을 드리겠습니다.
- switch는 if 대신에 쓰인 건데 '경우의 수들을 왔다가 갔다가 전환하라'라고 생각하시면 이해가 편합니다.
- case는 영어 사전에서 찾아보면 (특정한 상황의) 경우라는 뜻을 가지고 있는데 말 그대로 이런 경우라고 보시면 되겠습니다.
- : (colon)은 ~이면이라고 생각을 해주시면 (정확한 뜻 아닙니다!!!) 코드를 읽어 내려가는데 도움이 됩니다.
- break은 영어 사전에 찾아보면 쉬다, 중단시키다 등등 뜻이 많죠? 여기서는 '참인 값을 찾았으면 그 코드 블록을 빠져나가!'라는 뜻입니다. 예를 들어 위의 코드에서 break을 쓰지 않는다면, 컴퓨터가 '땡초김밥'이라는 참인 값을 찾고도 코드 블록을 빠져나가지 못해 default 값까지 출력을 시켜버립니다.
- default는 case가 사용된 문장 중에 참인 값이 없으면 실행이 되는 녀석입니다.
오늘의 느낌
내용이 어렵지는 않은데 설명을 하다가 보니 말이 길어졌네요 ㅎㅎ. 오늘 저녁으로 닭 가슴살 카츠에 카레 파스타를 먹었는데, 양파잼 만들듯이 카라멜 라이즈 하다가 일본식 카레 블록 넣고 물 넣고 로제 파스타 소스 조금 넣고 먹으니까 엄청나게 맛있네요. 한번 드셔 보세용ㅋㅋㅋ
'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
- 반복문
- Python
- javascript
- Object
- HTML 기본
- 객체
- 동기코딩
- html table
- html
- Type
- 함수
- if문
- Typescript
- function
- css position
- Array
- 메서드
- em
- Margin
- 실수
- 타입 좁히기
- for문
- 자바스크립트
- CSS
- 타입스크립트
- method
- CSS 포지션
- 파이썬
- 프로그래머스
- padding
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |