Maison >interface Web >js tutoriel >Pouvez-vous utiliser des expressions dans les instructions JavaScript Switch-Case ?

Pouvez-vous utiliser des expressions dans les instructions JavaScript Switch-Case ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 07:59:02439parcourir

Can You Use Expressions in JavaScript Switch-Case Statements?

Cas de commutation basés sur des expressions en JavaScript

En JavaScript, les instructions de commutation de cas fournissent un moyen pratique de gérer plusieurs cas en fonction d'un cas spécifique. valeur. Cependant, les instructions switch-case traditionnelles nécessitent la comparaison de valeurs de chaîne ou de nombres entiers. Dans certains scénarios, il peut être souhaitable d'utiliser des expressions qui sont évaluées lors de la comparaison.

Problème rencontré

Un de ces scénarios est décrit par un utilisateur qui a rencontré un défi en essayant d'utiliser une expression dans une instruction switch-case :

<code class="javascript">switch (amount) {
    case (amount >= 7500 && amount < 10000):
        // Code
        break;
    // Other cases
    default:
        // Default code
}

Cependant, ce code a entraîné un comportement inattendu, ce qui soulève la question de savoir s'il est possible d'utiliser des expressions dans des instructions switch-case.

Résoudre le problème

Le problème vient du fait que la variable montant est un nombre, tandis que les expressions dans les clauses case sont évaluées comme des booléens (c'est-à-dire vrai ou faux ). Par conséquent, les valeurs ne correspondent jamais, ce qui fait que le code contenu dans les clauses case ne s'exécute jamais.

Pour résoudre ce problème, une approche consiste à enfermer l'expression dans une instruction true :

<code class="javascript">switch (true) {
    case (amount >= 7500 && amount < 10000):
        // Code
        break;
    // Other cases
    default:
        // Default code
}</code>

Cela fonctionne car la valeur comparée est désormais la valeur booléenne vraie. Par conséquent, le code sous la première clause case avec une expression qui est évaluée à true sera exécuté.

Considérations

Bien que cette technique permette l'utilisation d'expressions dans switch- les déclarations de cas, elles doivent être utilisées avec prudence. Les déclarations if-else peuvent être plus concises et plus faciles à lire pour certains scénarios. En fin de compte, le choix entre les instructions switch-case et if-else dépend des exigences spécifiques du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn