A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Conditional_operator below:

L'opérateur conditionnel - JavaScript | MDN

SI condition vaut true, l'opérateur renverra la valeur d'exprSiVrai; dans le cas contraire, il renverra la valeur de exprSiFaux. Par exemple, on peut afficher un message différent en fonction d'une variable estMembre avec cette déclaration :

"Le prix est : " + (estMembre ? "15 €" : "30 €");

On peut également affecter des variables dont la valeur dépendra du test :

var elvisLives = Math.PI > 4 ? "Yep" : "Nope";

On peut enchaîner plusieurs évaluations ternaires l'une à la suite de l'autre (cet opérateur se propage de la gauche vers la droite) :

var premierControle = false,
  secondControle = false,
  acces = premierControle
    ? "Accès refusé"
    : secondControle
      ? "Accès refusé"
      : "Accès autorisé";

console.log(acces); // "Accès autorisé"

Il est également possible d'utiliser cet opérateur pour effectuer l'une ou l'autre expression selon le cas de figure qui se présente :

var stop = false,
  age = 16;

age > 18 ? location.assign("continue.html") : (stop = true);

en utilisant l'opérateur virgule, on peut même y placer plusieurs instructions (attention toutefois à la lisibilité et à se demander si un if...else n'est pas plus approprié).

var stop = false,
  age = 23;

age > 18
  ? (console.log("OK, accès autorisé."), location.assign("continue.html"))
  : ((stop = true), console.log("Accès refusé !"));

De la même façon, on peut effectuer plusieurs opérations, encadrées par des parenthèses, avant d'affecter le résultat de l'opérateur à une variable. Conformément à l'opérateur virgule, ce sera la dernière valeur qui sera affectée. Ici aussi, attention à la lisibilité du code relativement à un if...else.

var age = 16;

var url =
  age > 18
    ? (console.log("Accès autorisé."),
      // console.log renvoie "undefined", mais cela importe peu car
      // ce n'est pas le dernier élément de l'expression
      "continue.html") // la valeur à affecter si âge > 18
    : (console.log("Accès refusé !"),
      // etc.
      "stop.html"); // la valeur à affecter si âge <= 18

location.assign(url); // "stop.html"

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4