Apprendre l'informatique avec JavaScript partie 2, conditions

introduction

Dans la première partie de cette série, nos programmes n'étaient écrits que comme une séquence d'énoncés. Cette structure limite sévèrement ce que nous pouvons faire. Supposons que vous concevez un programme devant connecter les utilisateurs. Vous souhaiterez peut-être diriger un utilisateur vers une page s'il donne les informations d'identification correctes et l'envoyer à une autre s'il n'est pas enregistré. 

Pour ce faire, vous devez utiliser une structure de décision comme une instruction if. Cela effectuera une action uniquement sous certaines conditions. Si la condition n'existe pas, l'action n'est pas effectuée. Dans ce tutoriel, vous apprendrez tout sur les conditions.

Contenu

  • Si les déclarations
  • Opérateurs relationnels
  • Déclaration if-else
  • Changer les instructions
  • Opérateurs logiques
  • La revue
  • Ressources

Si les déclarations

Une seule instruction if exécutera une action si une condition est vraie. Si la condition est fausse, le programme exécutera la prochaine instruction qui se trouve en dehors du bloc if. Dans l'exemple suivant, si l'expression il pleut() est vrai, alors nous allons putOnCoat () et putOnRainboots () puis sors(). Si il pleut() est faux, le programme ne s'exécutera que sors().

if (isRaining) putOnCoat (); putOnRainboots ();  sors();

C'est la forme générale pour écrire une instruction if:

if (condition) statement; déclaration; etc. 

le état est une expression qui a la valeur true ou false. Une expression vraie ou fausse s'appelle une expression booléenne. Les expressions booléennes sont faites avec des opérateurs relationnels. 

Opérateurs relationnels

Un opérateur relationnel compare deux valeurs et détermine si la relation entre elles est vraie ou fausse. Ils peuvent être utilisés pour créer des expressions booléennes pour nos conditions. Voici une liste d'opérateurs relationnels avec des exemples:

Opérateur Sens Exemple Sens
== égalité x == y Est-ce que x est égal à y?
===
égalité stricte  x === y Est-ce que x est égal à y en valeur et en type?
!=
inégalité
x! = y
Est-ce que x n'est pas égal à y?
!==
stricte inégalité
x! == y
Est-ce que x n'est pas égal à y en valeur et en type?
> plus grand que
x> y
Est-ce que x est plus grand que y?
< moins que
X < y
Est-ce que x est inférieur à y?
> = Meilleur que ou égal
x> = y
Est-ce que x est supérieur ou égal à y?
<= inférieur ou égal
X <= y
Est-ce que x est inférieur ou égal à y?

Il est important de noter la différence entre l'opérateur d'égalité == et l'opérateur d'égalité stricte ===. Par exemple, l'expression 2 == "2" est vrai. Mais l'expression 2 === "2" c'est faux. Dans le deuxième exemple, les deux valeurs sont des types de données différents, raison pour laquelle l'expression est fausse. Il est préférable d'utiliser === ou !==.

L'exemple suivant affiche le message "Vous obtenez un A".

soit note = 93; if (grade> = 90) console.log ("Vous obtenez un A"); 

Tâche

Quelle est la valeur de l'expression 5> 3? 6! = "6"?

Déclarations Si-Autre

Une instruction if-else exécutera un bloc d'instructions si sa condition est vraie ou un autre bloc si sa condition est fausse. L'exemple suivant affiche le message «nom d'utilisateur valide» car la condition est vraie..

let username = "alberta"; if (nom d'utilisateur === "alberta") console.log ("nom d'utilisateur valide");  else console.log ("Nom d'utilisateur incorrect. Veuillez réessayer."); 

C'est la forme générale d'une déclaration if-else:

if (condition) statement; déclaration; etc. else statement; déclaration; etc. 

Tâche

 Quel sera le résultat de ce programme:

let isLoggedIn = false; if (isLoggedIn) console.log ("Bienvenue");  else console.log ("Vous n'êtes pas connecté"); 

Il est également possible de vérifier plusieurs conditions. Exemple:

Soit num = 3; if (num === 1) console.log ("I");  else if (num === 2) console.log ("II");  else if (num === 3) console.log ("III");  else if (num === 4) console.log ("IV");  else if (num === 5) console.log ("V");  else console.log ("Entrée invalide"); 

C'est la forme générale pour écrire plusieurs déclarations if-else-if:

if (condition1) statement; déclaration; etc. else if (condition2) statement; déclaration; etc. else statement; déclaration; etc. 

Déclarations de commutateur

Une instruction switch est également utilisée pour exécuter de manière conditionnelle une partie de votre programme. L'exemple suivant implémente notre convertisseur de chiffres romains sous la forme d'une instruction switch:

Soit num = 3; switch (num) cas 1: console.log ("I"); Pause; cas 2: console.log ("II"); Pause; cas 3: console.log ("III"); Pause; cas 4: console.log ("IV"); Pause; cas 5: console.log ("V"); Pause; défaut: console.log ("Entrée invalide"); 

C'est la forme générale d'une instruction switch:

switch (expression) case value1: statement; déclaration; etc. pause; case value2: statement; déclaration; etc. pause; default: statement; déclaration; etc.  

Chaque cas représente une valeur que notre expression peut prendre. Seul le bloc de code du cas vrai sera exécuté. Nous incluons une instruction break à la fin du bloc de code afin que le programme quitte l'instruction switch et n'exécute aucun autre cas. Le cas par défaut s'exécute quand aucun des autres cas n'est vrai.    

Tâche 

Ecrivez une instruction switch qui affiche le jour de la semaine auquel un numéro est attribué. Par exemple, 1 = dimanche, 2 = lundi, etc..

Opérateurs logiques

Et l'opérateur && et l'opérateur ou || nous permettent de relier deux expressions booléennes. Le pas opérateur ! nie une expression. Pour illustrer le fonctionnement des opérateurs logiques, nous allons examiner une table de vérité. Une table de vérité contient toutes les combinaisons de valeurs utilisées avec les opérateurs. j'utilise P pour représenter l'expression de gauche et Q pour l'expression de droite.  

&& table de vérité:

P Q P && Q
vrai vrai vrai
vrai
faux
faux
faux
vrai
faux
faux
faux faux

Nous lisons le tableau qui traverse chaque rangée. La première rangée nous dit que quand P est vrai et Q est vrai, P && Q est vrai. L'exemple suivant teste si 82 ​​est compris entre 60 et 100 inclus..

  • soit x = 82;
  • x> = 60 && x <= 100
  • P: x> = 60 est vrai
  • Q: x <= 100 is true
  • P && Q: true && true

|| table de vérité:

P Q P || Q
vrai
vrai
vrai
vrai
faux
vrai
faux
vrai vrai
faux
faux
faux

Cet exemple teste si 82 ​​est en dehors de la plage 60-100:

  • soit x = 82;
  • X < 60 || x > 100
  • P: x < 60 is false
  • Q: x> 100 est faux
  • P || Q: faux || faux

! table de vérité:

P !P
vrai
faux
faux
vrai

Exemple:

  • x = 82
  • P: x> 0 est vrai
  • !P: faux

Tâche

Remplissez le tableau avec les valeurs manquantes.

P Q !P !Q !P &&! Q
!P || ! Q
vrai
vrai




vrai
faux

faux
vrai

faux
faux


Quelque chose d’utile à savoir sur les opérateurs logiques est que si l’expression à gauche du && Si l'opérateur est faux, l'expression de droite ne sera pas vérifiée car toute la déclaration est fausse. Et si l'expression à gauche d'un || Si l'opérateur est vrai, l'expression de droite ne sera pas vérifiée car la totalité de l'instruction est vraie..

La revue

Un programme peut exécuter des blocs de code de manière conditionnelle à l'aide d'expressions booléennes. Une expression booléenne est écrite à l'aide d'opérateurs relationnels. Les opérateurs logiques nous permettent de combiner des expressions booléennes. 

Une seule instruction if donne au programme un chemin alternatif à suivre si une condition est remplie. Les déclarations if-else fournissent une deuxième ligne de conduite si la condition est fausse. Et les déclarations if-else-if nous permettent de tester plusieurs conditions. Les instructions switch peuvent être utilisées comme alternative à une instruction if-else-if lorsque vous devez tester plusieurs conditions.. 

Ensuite, dans la partie 3, nous discuterons des boucles.

Ressources

  • repl.it
  • Spécification ES6
  • Vous ne connaissez pas JS: ES6 et au-delà