break
Termine immédiatement une boucle ou une instruction switch et passe au code qui la suit.
Exemple
#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)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
#break
break labelPlus d’exemples
#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)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)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,breakest une erreur de syntaxe. Choisissezfor...ofou des méthodes qui arrêtent elles-mêmes le travail :find(),some()etevery(). - 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
#- continueIgnore le reste du tour de boucle actuel et passe immédiatement au suivant.
- forUne boucle avec compteur : initialisation, condition et étape. Répète un bloc de code tant que la condition est vraie.
- whileRépète un bloc de code tant que la condition est vraie. La condition est vérifiée avant chaque tour.
- switchCompare une valeur à une liste de cas case et exécute le code à partir du premier qui correspond.
- Array.prototype.find()Renvoie le premier élément qui remplit la condition, ou undefined.
- Array.prototype.some()Vérifie si au moins un élément remplit la condition.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.