ホームページ >ウェブフロントエンド >jsチュートリアル >Switch Case ステートメントの式が JavaScript で期待どおりに機能しないのはなぜですか?
Switch Case ステートメントの式の評価
JavaScript では、switch ステートメントは一連の定数式に対して 1 つの式を評価します。ただし、提供されたコード スニペットに示されているように、case 句内で式を使用しようとすると、予期しない動作が発生する可能性があります。
目標は、switch ステートメントを使用して、amount 変数の値に基づいて報酬を決定することです。 。 case 句に見られるように、式の評価が試行されます。
<code class="javascript">case (amount >= 7500 && amount < 10000): // ... case (amount >= 10000 && amount < 15000): // ...
残念ながら、これらの式は、amount の数値と一致するのではなく、ブール値 (true または false) に評価されます。その結果、switch ステートメントはどの case にも入りません。
この問題に対処するには、考えられる解決策の 1 つは、次のように true の式を case 値として使用し、case 句内の式を評価することです。 :
<code class="javascript">switch (true) { case (amount >= 7500 && amount < 10000): // ... break; case (amount >= 10000 && amount < 15000): // ... break; }</code>
このアプローチは、case 値がブール値 true になり、case 句の式がブール値に評価されるため機能します。
以上がSwitch Case ステートメントの式が JavaScript で期待どおりに機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。