if...else

Exécute un bloc de code seulement si une condition est vraie, et sinon un bloc else optionnel.

Sur cette page

Exemple

#
JavaScript
function grade(points) {
  if (points >= 90) {
    return 'excellent'
  } else if (points >= 70) {
    return 'bien'
  } else if (points >= 50) {
    return 'passable'
  } else {
    return 'à revoir'
  }
}

console.log(grade(95))
console.log(grade(72))
console.log(grade(30))
Console
excellent
bien
à revoir

Définition et utilisation

#

L’instruction if vérifie une condition entre parenthèses. Si elle est vraie, elle exécute le bloc écrit juste après. Le else optionnel contient du code pour le cas où la condition est fausse, et else if permet de vérifier d’autres conditions l’une après l’autre.

La condition n’a pas besoin d’être true ou false. JavaScript la convertit lui-même en valeur booléenne. Sont fausses (falsy) seulement : false, 0, -0, 0n, "", null, undefined et NaN. Tout le reste, y compris un tableau vide [] et un objet vide {}, compte comme vrai (truthy).

Les conditions d’une chaîne else if sont vérifiées de haut en bas, et seul le premier bloc correspondant s’exécute. Classez-les donc du plus précis au plus général.

Syntaxe

#
Syntaxe
if (condition) {
  // si vrai
}

if (condition) {
  // si vrai
} else {
  // si faux
}

if (condition1) {
  // ...
} else if (condition2) {
  // ...
} else {
  // ...
}

Plus d’exemples

#
Valeurs truthy et falsy dans une condition
JavaScript
function welcome(name) {
  if (name) {
    return `Bienvenue, ${name} !`
  }
  return 'Bienvenue, inconnu !'
}

console.log(welcome('Emma'))
console.log(welcome(''))
console.log(welcome())
Console
Bienvenue, Emma !
Bienvenue, inconnu !
Bienvenue, inconnu !

Une chaîne vide et undefined sont fausses, donc les deux tombent dans la seconde branche. Faites attention au nombre 0 : il est aussi faux, bien qu’il soit souvent une valeur correcte.

Un retour anticipé plutôt que des imbrications
JavaScript
function buyItem(user, price) {
  if (!user) {
    return 'Connectez-vous'
  }
  if (user.coins < price) {
    return 'Pas assez de pièces'
  }
  user.coins -= price
  return `Acheté, il reste ${user.coins} pièces`
}

console.log(buyItem(null, 50))
console.log(buyItem({ coins: 30 }, 50))
console.log(buyItem({ coins: 80 }, 50))
Console
Connectez-vous
Pas assez de pièces
Acheté, il reste 30 pièces
Combiner des conditions
JavaScript
const age = 16
const hasConsent = true

if (age >= 18 || hasConsent) {
  console.log('Vous pouvez rejoindre le cours')
} else {
  console.log('Le consentement d’un parent est nécessaire')
}
Console
Vous pouvez rejoindre le cours

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Utilisez toujours des accolades, même pour une seule instruction. L’écriture sans elles est facile à casser en ajoutant une seconde ligne, qui s’exécutera toujours.
  • Au lieu de if profondément imbriqués, vérifiez les cas d’erreur au début de la fonction et sortez-en immédiatement avec return.
  • Pour choisir l’une de deux valeurs, l’opérateur conditionnel condition ? a : b suffit, et avec plusieurs valeurs fixes, switch est souvent plus lisible.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.