3e étageJS JavaScriptPièce 2/7Débutant

Conditions et boucles

Faire des choix avec if, else et switch, comparer des valeurs, puis répéter des actions avec for, while et for...of.

Ce que tu vas apprendre

  • Comparer des valeurs et combiner des conditions.
  • Choisir une branche avec if, else et switch.
  • Répéter une action avec for, while et for...of.

Comparer des valeurs

Une condition est une expression dont le résultat est true ou false. On l'obtient en comparant des valeurs.

const temps = 25

console.log(temps > 20)     // true
console.log(temps <= 10)    // false
console.log(temps === 25)   // true
console.log(temps !== 30)   // true
OpérateurSens
===Égal (même valeur, même type).
!==Différent.
> et <Plus grand, plus petit.
>= et <=Plus grand ou égal, plus petit ou égal.
Utilise toujours ===, pas ==. Le double égal convertit les types avant de comparer, et 0 == '' vaut true.

if et else

Le mot-clé if exécute un bloc si la condition est vraie. else donne l'alternative.

const temperature = 190

if (temperature >= 180) {
  console.log('Le four est prêt')
} else {
  console.log('Attends encore')
}

Pour plusieurs cas, enchaîne avec else if. Le premier test vrai l'emporte, les suivants sont ignorés.

const minutes = 45

if (minutes < 15) {
  console.log('Recette express')
} else if (minutes < 60) {
  console.log('Recette du soir')
} else {
  console.log('Recette du dimanche')
}

Combiner des conditions

Trois opérateurs logiques relient les conditions.

const vegetarien = true
const sansGluten = false

console.log(vegetarien && sansGluten)  // false : les deux doivent être vrais
console.log(vegetarien || sansGluten)  // true : un seul suffit
console.log(!vegetarien)               // false : inverse la valeur

&& veut dire « et », || veut dire « ou », ! veut dire « non ».

Valeurs vraies et fausses

Dans un if, JavaScript accepte toute valeur. Certaines comptent comme fausses : false, 0, '' (texte vide), null, undefined et NaN. Toutes les autres comptent comme vraies.

const nom = ''

if (nom) {
  console.log('Bonjour ' + nom)
} else {
  console.log('Le nom est vide')
}

Ce raccourci est pratique pour tester qu'un texte n'est pas vide.

switch

Quand tu compares une seule valeur à plusieurs cas, switch est plus lisible.

const plat = 'dessert'

switch (plat) {
  case 'entree':
    console.log('Au début du repas')
    break
  case 'dessert':
    console.log('À la fin du repas')
    break
  default:
    console.log('Plat inconnu')
}

Chaque case finit par break. Sans lui, l'exécution continue dans le cas suivant.

L'opérateur ternaire

Pour choisir entre deux valeurs, le ternaire tient en une ligne : condition ? siVrai : siFaux.

const portions = 1
const mot = portions > 1 ? 'personnes' : 'personne'
console.log(`Pour ${portions} ${mot}`)

Réserve-le aux cas simples. Au-delà, un if est plus clair.

La boucle for

Une boucle répète un bloc de code. La boucle for convient quand tu sais combien de tours faire.

for (let i = 1; i <= 3; i++) {
  console.log(`Étape ${i}`)
}

Entre parenthèses, trois parties séparées par des points-virgules :

  1. let i = 1 : le départ, exécuté une fois.
  2. i <= 3 : la condition, testée avant chaque tour.
  3. i++ : l'incrément, qui ajoute 1 après chaque tour.

while et for...of

La boucle while tourne tant que sa condition est vraie.

let pate = 0

while (pate < 3) {
  pate++
  console.log(`Pétrissage numéro ${pate}`)
}

Pour parcourir les éléments d'une liste, for...of est le plus simple. Un tableau est une liste de valeurs entre crochets, détaillé dans un autre cours.

const ingredients = ['farine', 'oeufs', 'lait']

for (const ingredient of ingredients) {
  console.log(ingredient)
}
Si la condition d'un while ne devient jamais fausse, la boucle ne s'arrête pas et la page se fige. Vérifie que quelque chose change à chaque tour.

break et continue

break quitte la boucle immédiatement. continue saute au tour suivant.

for (const ingredient of ['farine', 'sel', 'lait']) {
  if (ingredient === 'sel') continue
  console.log(ingredient)
}

À retenir

  • Compare avec === et !==, jamais avec ==.
  • if, else if et else choisissent une branche, switch compare une valeur à plusieurs cas.
  • &&, || et ! combinent des conditions.
  • 0, '', null, undefined, NaN et false comptent comme faux dans un if.
  • for répète un nombre connu de fois, while tant qu'une condition est vraie, for...of parcourt une liste.
  • break quitte une boucle, continue passe au tour suivant.

Pour aller plus loin

Sources officielles

Ensuite

Projet
Lignes de code
Niveau
3e étage
Appartement
JavaScript
Pièce
2/7
Plan n°
js/02.conditions-et-boucles
Lignes de code · fiches rédigées à partir des documentations officielles, sources citées en bas de chaque page.