Switch Case 문의 표현식 평가
프로그래밍에서 switch 문을 작성할 때 Case 절 내에서 표현식을 활용하고 싶은 상황이 발생할 수 있습니다. 고정된 값 대신. if 문이 그러한 표현식을 쉽게 수용하는 반면, 그러한 시나리오에서는 switch 문의 잠재적인 효율성에 대한 우려가 발생합니다.
다음 JavaScript 코드를 고려하세요.
<code class="javascript">function reward(amount) { var $reward = $("#reward"); switch (amount) { case (amount >= 7500 && amount < 10000): $reward.text("Play Station 3"); break; case (amount >= 10000 && amount < 15000): $reward.text("XBOX 360"); break; case (amount >= 15000): $reward.text("iMac"); break; default: $reward.text("No reward"); break; } }</code>
이 예에서는 평가를 시도합니다. Case 절 내의 표현. 그러나 표현식은 부울 값만 산출하는 반면 비교하는 금액 값은 숫자이기 때문에 문제가 발생합니다. 이러한 불일치로 인해 Case 절이 올바르게 실행되지 않습니다.
한 가지 실행 가능한 해결책은 대체 구문을 사용하는 것입니다.
<code class="javascript">switch (true) { case (amount >= 7500 && amount < 10000): // Code break; case (amount >= 10000 && amount < 15000): // Code break; // etc. }</code>
실제 식별자를 도입하여 표현식 평가를 비교로 효과적으로 변환합니다. 부울은 true입니다. Case 절의 표현식이 true로 평가되면 해당 절 내의 코드가 실행됩니다.
이 기술은 약간 특이한 것처럼 보이지만 Case 절의 표현식을 직접 비교할 때 발생하는 제한 사항을 우회합니다. 결과적으로, switch 문의 효율성 이점을 유지하면서 원하는 동작을 달성할 수 있습니다.
위 내용은 JavaScript의 Switch Case 문에서 표현식을 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!