Le JavaScript si effectue une action basée sur une condition, un scénario courant dans tous les langages de programmation. si L'instruction teste un peu de données par rapport à une condition, puis spécifie du code à exécuter si la condition est vraie, comme ceci:
si condition
exécuter ce code
le si est presque toujours associée à la autre car généralement, vous voulez définir un autre bit de code à exécuter. Prenons un exemple:
if ('Stephen' === name)
message = "Bienvenue à nouveau Stephen";
autre
message = "Bienvenue" + nom;
Ce code renvoie "Welcome back Stephen" si Nom est égal à Stephen; sinon, il renvoie "Bienvenue", puis quelle que soit la valeur de la variable Nom contient.
JavaScript nous offre une autre façon d'écrire un si instruction lorsque les conditions vraie et fausse affectent simplement des valeurs différentes à la même variable.
Cette méthode plus courte omet le mot clé si ainsi que les accolades autour des blocs (qui sont facultatifs pour les instructions simples). Nous plaçons également la valeur que nous fixons dans les conditions vraies et fausses au début de notre déclaration unique et intégrons ce nouveau style de si déclaration dans la déclaration elle-même.
Voici à quoi cela ressemble:
variable = (condition)? true-value: fausse valeur;
Donc notre si La déclaration ci-dessus pourrait être écrite en une seule ligne:
message = ('Stephen' === nom)? "Bienvenue Stephen": "Bienvenue" + nom;
En ce qui concerne JavaScript, cette instruction est identique au code plus long ci-dessus.
La seule différence est que l'écriture de l'instruction de cette façon fournit en fait à JavaScript plus d'informations sur ce que fait l'instruction if. Le code peut s'exécuter plus efficacement que si nous l'écrivions de manière plus longue et plus lisible. Ceci est également appelé un opérateur ternaire.
Cette façon de coder une instruction if peut aider à éviter le code détaillé, en particulier dans imbriqué si déclarations. Par exemple, considérez cet ensemble d'instructions if / else imbriquées:
var réponse;
si (a == b)
si (a == c)
answer = "tous sont égaux";
autre
answer = "a et b sont égaux";
autre
si (a == c)
answer = "a et c sont égaux";
autre
si (b == c)
answer = "b et c sont égaux";
autre
answer = "tous sont différents";
Ce code attribue l'une des cinq valeurs possibles à une seule variable. En utilisant cette notation alternative, nous pouvons considérablement raccourcir cela en une seule instruction qui incorpore toutes les conditions:
var réponse = (a == b)? ((a == c)? "tous sont égaux":
"a et b sont égaux"): (a == c)? "a et c sont égaux": (b == c) ?
"b et c sont égaux": "tous sont différents";
Notez que cette notation ne peut être utilisée que lorsque tout les différentes conditions testées attribuent des valeurs différentes à la même variable.