> 웹 프론트엔드 > JS 튜토리얼 > Switch Case 문의 식이 JavaScript에서 예상대로 작동하지 않는 이유는 무엇입니까?

Switch Case 문의 식이 JavaScript에서 예상대로 작동하지 않는 이유는 무엇입니까?

DDD
풀어 주다: 2024-10-30 07:35:27
원래의
295명이 탐색했습니다.

Why Do Expressions in Switch Case Statements Not Work as Expected in JavaScript?

Switch Case 문의 식 평가

JavaScript에서 switch 문은 일련의 상수 식에 대해 단일 식을 평가합니다. 그러나 Case 절 내에서 표현식을 사용하려고 하면 제공된 코드 조각에서 알 수 있듯이 예기치 않은 동작이 발생할 수 있습니다.

목표는 스위치 문을 사용하여 금액 변수의 값에 따라 보상을 결정하는 것입니다. . Case 절에서 볼 수 있듯이 표현식 평가가 시도됩니다.

<code class="javascript">case (amount >= 7500 && amount < 10000):
// ...
case (amount >= 10000 && amount < 15000):
// ...
로그인 후 복사

안타깝게도 이러한 표현식은 amount의 숫자 값을 일치시키는 대신 부울(true 또는 false)로 평가됩니다. 결과적으로, 스위치 문은 어떠한 경우에도 입력되지 않습니다.

이 문제를 해결하기 위해 가능한 한 가지 해결책은 다음과 같이 실제 표현식을 케이스 값으로 사용하고 케이스 절 내부의 표현식을 평가하는 것입니다. :

<code class="javascript">switch (true) {
  case (amount >= 7500 && amount < 10000):
    // ...
    break;
  case (amount >= 10000 && amount < 15000):
    // ...
    break;
}</code>
로그인 후 복사

이제 케이스 값이 부울 참이고 케이스 절의 식이 부울 값으로 평가되기 때문에 이 접근 방식이 작동합니다.

위 내용은 Switch Case 문의 식이 JavaScript에서 예상대로 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿