---
id: 56533eb9ac21ba0edf2244dd
title: Switch 문으로 여러 옵션에서 선택하기
challengeType: 1
videoUrl: 'https://scrimba.com/c/c4mv4fm'
forumTopicId: 18277
dashedName: selecting-from-many-options-with-switch-statements
---
# --description--
만약 한 가지 값과 여러 옵션을 대조해야 한다면, switch 문을 사용할 수 있습니다. `switch`문은 값을 여러 가능성이 있는 값들을 정의하는 case문과 비교합니다. 어떤 유효한 자바스크립트 문이라도 case 블록 안에서 실행될 수 있으며, 첫 번째 일치하는 `case` 값부터 `break`가 나타날 때까지 실행됩니다.
여기 `switch`문 예시가 있습니다.
```js
switch (fruit) {
case "apple":
console.log("The fruit is an apple");
break;
case "orange":
console.log("The fruit is an orange");
break;
}
```
`case` 값들은 엄격한 동등성(`===`)으로 테스트 됩니다. `break`는 문장들이 실행되는 것을 멈추게 합니다. `break`이 없다면 다음 문장이 실행될 것입니다.
# --instructions--
`val`를 테스트하고 `answer`를 다음 조건 중 하나로 설정하는 switch 문을 작성하시오.
`1` - `alpha`
`2` - `beta`
`3` - `gamma`
`4` - `delta`
# --hints--
`caseInSwitch(1)`는 문자열 `alpha`을 가져야 합니다.
```js
assert(caseInSwitch(1) === 'alpha');
```
`caseInSwitch(2)`는 문자열 `beta`을 가져야 합니다.
```js
assert(caseInSwitch(2) === 'beta');
```
`caseInSwitch(3)`는 문자열 `gamma`을 가져야 합니다.
```js
assert(caseInSwitch(3) === 'gamma');
```
`caseInSwitch(4)`는 문자열 `delta`을 가져야 합니다.
```js
assert(caseInSwitch(4) === 'delta');
```
`if` 나 `else`문을 사용하지 않아야 합니다.
```js
assert(!/else/g.test(__helpers.removeJSComments(code)) || !/if/g.test(__helpers.removeJSComments(code)));
```
적어도 3개의 `break`문이 있어야 합니다.
```js
assert(__helpers.removeJSComments(code).match(/break/g).length > 2);
```
# --seed--
## --seed-contents--
```js
function caseInSwitch(val) {
let answer = "";
// Only change code below this line
// Only change code above this line
return answer;
}
caseInSwitch(1);
```
# --solutions--
```js
function caseInSwitch(val) {
let answer = "";
switch (val) {
case 1:
answer = "alpha";
break;
case 2:
answer = "beta";
break;
case 3:
answer = "gamma";
break;
case 4:
answer = "delta";
}
return answer;
}
```