Maison > interface Web > Questions et réponses frontales > Que sont les opérateurs ternaires en JavaScript ?

Que sont les opérateurs ternaires en JavaScript ?

青灯夜游
Libérer: 2023-01-04 09:34:01
original
3392 Les gens l'ont consulté

Javascript n'a qu'un seul opérateur ternaire "? ... :", qui peut être utilisé pour des structures de sélection simples. La syntaxe de base est "Expression booléenne ? phrase1 : phrase2" ; is Lorsque vrai, la phrase1 est exécutée, sinon la phrase2 est exécutée.

Que sont les opérateurs ternaires en JavaScript ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 5, ordinateur Dell G3.

opérateur ternaire javascript

Lorsque l'opérateur ternaire en javascript est utilisé pour le jugement, la syntaxe de base est : expression ? sentence1 : sentence2

Lorsque la valeur de expression est vraie, exécutez sentence1, sinon exécutez sentence2, veuillez voir le code

var b = 1,
       c = 1 
       a = 2;
   a >= 2 ? b++ : b--;
   b   // 2
   a < 2 ? c++ : c--;
   c   // 0
Copier après la connexion

À partir du code ci-dessus, nous penserons temporairement à trois L'opérateur est équivalent à if + else (discuté en détail ci-dessous)

 if(expression){ 
      sentence1;
   } else {
      sentence2;
   }
Copier après la connexion

Quand expression est vrai, c'est-à-dire que expression n'est pas undefined, NaN, 0, null Une fois exécuté, sentence1 est exécuté, sinon sentence2 est exécuté.

Puisque cette fonction est la même que si, pourquoi l'utiliser ? Tout d'abord, lorsque la logique est jugée plusieurs fois, la logique de l'opérateur ternaire est plus concise :

 expression1 ? sentence1 :
   expression2 ? sentence2 :
   expression3 ? sentence3 :
   ...
Copier après la connexion

Tant que le jugement d'une expressionN est vrai, alors la phraseN sera exécutée immédiatement, et. les jugements ultérieurs ne seront plus exécutés. Et si on écrit if-else

if(expression1){
      sentence1;
   } else if(expression2){ 
      sentence2;
   } else if(expression3){
      sentence3;
   } ...
Copier après la connexion

, ça semble fatigant d'écrire la logique comme ça, donc dans les codes sources jquery et zepto, on verra beaucoup d'applications de l'opérateur ternaire.

Devoir

Un autre scénario d'application classique est l'affectation, var param = expression ? value1 : value2, je crois que vous utilisez souvent ce

 var b,
      c = 1;
   var a = b ? 2 : 1;
   a    // 1
   var a = c > 0 ? 2 : 1
   a   // 2
Copier après la connexion

Négocions

Un jour, j'ai écrit un tel code

 function xx(){
      var a = 1,
      b = 3;
      a < b ? return false : &#39;&#39;
  }
Copier après la connexion

Il a en fait signalé une erreur. Pourquoi l'erreur a été signalée, nous y regarderons de plus près ! à ce qui précède Jugements multiples

expression1 ? sentence1 :
   expression2 ? sentence2 :
   expression3 ? sentence3 :
   ...
Copier après la connexion

Tant qu'une expressionN est vraie, elle sautera immédiatement. Quelle en est la raison ? Nous pouvons deviner que c'est parce que l'opérateur ternaire renvoie la phrase N, donc le jugement saute immédiatement. L'utilisation de l'affectation est la même. La raison pour laquelle une erreur est signalée est qu'écrire comme

 if(expression){
      return (return 2);
   }
Copier après la connexion

signalera certainement une erreur. Donc, si nous avons des questions sur l'explication ci-dessus, nous pouvons utiliser un code comme celui-ci pour prouver :

 var a = 1,
       b = 2;
   var c = b > 1 ? a++ : 0;
   c   // 1
Copier après la connexion

Pourquoi c vaut 1, car n++ ajoute 1 après avoir exécuté l'expression If return a++, retournez d'abord plus 1, donc c ici est égal à 1

Pour plus de connaissances sur la programmation, veuillez visiter : Vidéo de programmation ! !

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!

Étiquettes associées:
Déclaration de ce site Web
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
Derniers numéros
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal