parfois, nous devons effectuer différentes actions en fonction de conditions différentes.
Pour ce faire, nous pouvons utiliser la balise if
déclaration et l’opérateur conditionnel ?
, qui est aussi appelé un « point d’interrogation” de l’opérateur.
L’instruction « if”
Le if(...)
déclaration évalue une condition entre parenthèses et, si le résultat est true
, exécute un bloc de code.,
Par exemple:
let year = prompt('In which year was ECMAScript-2015 specification published?', '');if (year == 2015) alert( 'You are right!' );
Dans l’exemple ci-dessus, la condition est un simple contrôle d’égalité (year == 2015
), mais il peut être beaucoup plus complexe.,
Si nous voulons exécuter plus d’une instruction, nous avons pour envelopper notre bloc de code entre accolades:
if (year == 2015) { alert( "That's correct!" ); alert( "You're so smart!" );}
Nous vous recommandons d’emballage de votre bloc de code entre accolades {}
chaque fois que vous utilisez un if
déclaration, même si il y a une seule instruction à exécuter. Faisant améliore la lisibilité.
conversion booléenne
l’instructionif (…)
évalue l’expression entre parenthèses et convertit le résultat en booléen.,
rappelons les règles de conversion à partir du chapitre Conversions de Type:
- plusieurs
0
, une chaîne vide""
,null
,undefined
, etNaN
tous devenirfalse
. Pour cette raison, on les appelle des valeurs « faussées”. - les autres valeurs deviennent
true
, elles sont donc appelées « truthy”.,
Donc, le code sous cette condition ne serait jamais exécuter:
if (0) { // 0 is falsy ...}
…et à l’intérieur de cet état, il en sera toujours:
if (1) { // 1 is truthy ...}
Nous pouvons également passer une pré-évalués valeur booléenne if
, comme ceci:
let cond = (year == 2015); // equality evaluates to true or falseif (cond) { ...}
Le « else” clause
Le if
déclaration peut contenir une option « autre” bloc. Il s’exécute lorsque la condition est fausse.,
Par exemple:
Plusieurs conditions: « else if”
Parfois, nous aimerions tester plusieurs variantes d’une condition. La clauseelse if
nous permet de le faire.
Par exemple:
Dans le code ci-dessus, JavaScript vérifie d’abord year < 2015
. Si c’est faux, il passe à la condition suivante year > 2015
. Si cela est également faux, il affiche le dernier alert
.
Il peut y avoir plus de blocselse if
. Le else
final est facultatif.
opérateur Conditionnel ‘?,’
parfois, nous devons assigner une variable en fonction d’une condition.
par exemple:
l’opérateur dit « conditionnel” ou « point d’interrogation” nous permet de le faire de manière plus courte et plus simple.
L’opérateur est représenté par un point d’interrogation ?
. Parfois, on l’appelle « ternaire”, car l’opérateur a trois opérandes. C’est en fait le seul et unique opérateur en JavaScript qui en a autant.,
La syntaxe est:
let result = condition ? value1 : value2;
Le condition
est évalué: si c’est truthy puis value1
est retourné, autrement – value2
.
Par exemple:
let accessAllowed = (age > 18) ? true : false;
Techniquement, on peut omettre les parenthèses autour de age > 18
. L’opérateur de point d’interrogation a une priorité faible, il s’exécute donc après la comparaison >
.,
Cet exemple fera la même chose que le précédent:
Mais les parenthèses rendent le code plus lisible, nous vous recommandons donc de les utiliser.
Dans l’exemple ci-dessus, vous pouvez éviter d’utiliser le point d’interrogation de l’opérateur car la comparaison elle-même renvoie true/false
:
// the samelet accessAllowed = age > 18;
Multiples »?’
Une séquence d’interrogation opérateurs ?
peut retourner une valeur qui dépend de plus d’un état.,
Par exemple:
let age = prompt('age?', 18);let message = (age < 3) ? 'Hi, baby!' : (age < 18) ? 'Hello!' : (age < 100) ? 'Greetings!' : 'What an unusual age!';alert( message );
Il peut être difficile au premier abord de comprendre ce qui se passe. Mais après avoir regardé de plus près, nous pouvons voir que c’est juste une séquence ordinaire de tests:
Voici à quoi cela ressemble en utilisant if..else
:
if (age < 3) { message = 'Hi, baby!';} else if (age < 18) { message = 'Hello!';} else if (age < 100) { message = 'Greetings!';} else { message = 'What an unusual age!';}
utilisation Non traditionnelle de ‘?,’
Parfois, le point d’interrogation ?
est utilisé comme un remplacement pour le if
:
let company = prompt('Which company created JavaScript?', '');(company == 'Netscape') ? alert('Right!') : alert('Wrong.');
en Fonction de la condition company == 'Netscape'
, de la première ou de la deuxième expression après la balise ?
est exécuté et affiche une alerte.
Nous n’attribuons pas de résultat à une variable ici. Au lieu de cela, nous exécutons un code différent en fonction de la condition.
Il n’est pas recommandé d’utiliser l’opérateur de point d’interrogation de cette manière.,
la notation est plus courte que l’instructionif
équivalente, ce qui plaît à certains programmeurs. Mais c’est moins lisible.
Voici le code à l’aide de if
pour comparaison:
let company = prompt('Which company created JavaScript?', '');if (company == 'Netscape') { alert('Right!');} else { alert('Wrong.');}
Nos yeux balayer le code à la verticale. Les blocs de Code qui s’étendent sur plusieurs lignes sont plus faciles à comprendre qu’un long jeu d’instructions horizontal.,
le but de l’opérateur de point d’interrogation ?
est de renvoyer une valeur ou une autre en fonction de sa condition. Veuillez l’utiliser exactement pour cela. Utilisez if
lorsque vous devez exécuter différentes branches de code.
Leave a Reply