break

Termine immédiatement une boucle ou une instruction switch et passe au code qui la suit.

Sur cette page

Exemple

#
JavaScript
const answers = [4, 7, 12, 3, 15]
let firstBig

for (const answer of answers) {
  if (answer > 10) {
    firstBig = answer
    break
  }
  console.log('Vérification', answer)
}

console.log('Trouvé', firstBig)
Console
Vérification 4
Vérification 7
Trouvé 12

Définition et utilisation

#

L’instruction break interrompt la boucle la plus proche (for, while, do...while, for...of, for...in) ou un switch. Le programme passe à la première instruction après le bloc interrompu, et les tours restants sont ignorés.

Un usage typique est la recherche : une fois que vous avez trouvé ce que vous cherchiez, continuer à vérifier n’a plus de sens. Dans un switch, l’instruction break termine le cas en cours pour que l’exécution ne passe pas au case suivant.

Dans des boucles imbriquées, break n’interrompt que la boucle interne. Pour sortir de plusieurs à la fois, marquez la boucle externe avec une étiquette, par ex. outer:, et écrivez break outer. break ne fonctionne pas dans les callbacks de forEach(), car ce sont des fonctions séparées.

Syntaxe

#
Syntaxe
break
break label

Plus d’exemples

#
Sortir de boucles imbriquées avec une étiquette
JavaScript
const map = [
  ['.', '.', '.'],
  ['.', '.', 'X'],
  ['.', 'X', '.']
]
let found = null

outer: for (let row = 0; row < map.length; row++) {
  for (let col = 0; col < map[row].length; col++) {
    if (map[row][col] === 'X') {
      found = { row, col }
      break outer
    }
  }
}

console.log(found)
Console
{ row: 1, col: 2 }
break dans une boucle while (true)
JavaScript
const bonuses = [5, 10, 20, 50]
let total = 0

while (true) {
  const bonus = bonuses.shift()
  if (bonus === undefined || total + bonus > 30) break
  total += bonus
}

console.log(total)
Console
15

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

#
  • Dans forEach(), map() et d’autres callbacks, break est une erreur de syntaxe. Choisissez for...of ou des méthodes qui arrêtent elles-mêmes le travail : find(), some() et every().
  • Utilisez les étiquettes avec parcimonie. Il est souvent plus lisible d’extraire les boucles imbriquées dans une fonction et d’en sortir avec return.

Entrées associées

#

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