JavaScript - 문제 미리보기

문제 285

hard
다음 switch 문을 동등한 if-else 문으로 변환할 때 올바른 것은? ```javascript // 원본 switch 문 switch (grade) { case 'A': case 'B': console.log("Pass"); break; case 'C': console.log("Conditional Pass"); break; default: console.log("Fail"); }```
A. ```javascript if (grade === 'A' && grade === 'B') { console.log("Pass"); } else if (grade === 'C') { console.log("Conditional Pass"); } else { console.log("Fail"); } ```
B. ```javascript if (grade === 'A' || grade === 'B') { console.log("Pass"); } else if (grade === 'C') { console.log("Conditional Pass"); } else { console.log("Fail"); } ```
C. ```javascript if (grade == 'A' || grade == 'B') { console.log("Pass"); } else if (grade == 'C') { console.log("Conditional Pass"); } else { console.log("Fail"); } ```
D. ```javascript if (grade === 'A') { console.log("Pass"); } if (grade === 'B') { console.log("Pass"); } else if (grade === 'C') { console.log("Conditional Pass"); } else { console.log("Fail"); } ```

정답: B

switch 문에서 case 'A'와 case 'B'가 같은 코드 블록을 공유하므로, 이를 if-else로 변환할 때는 OR 연산자(`||`)를 사용해야 합니다. 그리고 switch는 엄격한 비교(===)를 사용하므로 if문에서도 `===`를 사용해야 정확히 동일한 동작을 합니다. `&&` 연산자를 사용하면 grade가 동시에 'A'이면서 'B'일 수 없으므로 항상 거짓이 됩니다.

💡 학습 팁

이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.