break
Natychmiast kończy pętlę lub instrukcję switch i przechodzi do kodu, który jest za nią.
Przykład
#const answers = [4, 7, 12, 3, 15]
let firstBig
for (const answer of answers) {
if (answer > 10) {
firstBig = answer
break
}
console.log('Sprawdzam', answer)
}
console.log('Znaleziono', firstBig)Definicja i zastosowanie
#Instrukcja break przerywa najbliższą pętlę (for, while, do...while, for...of, for...in) albo switch. Program przechodzi do pierwszej instrukcji za przerwanym blokiem, a pozostałe obroty są pomijane.
Typowe zastosowanie to wyszukiwanie: gdy znajdziesz to, czego szukasz, dalsze sprawdzanie nie ma sensu. W switch instrukcja break kończy dany przypadek, żeby wykonanie nie przeszło do następnego case.
W pętlach zagnieżdżonych break przerywa tylko wewnętrzną pętlę. Aby wyjść z kilku naraz, oznacz zewnętrzną pętlę etykietą, np. outer:, i napisz break outer. break nie działa w callbackach forEach(), bo to osobne funkcje.
Składnia
#break
break labelWięcej przykładów
#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)Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- W
forEach(),map()i innych callbackachbreakto błąd składni. Wybierzfor...ofalbo metody, które same kończą pracę:find(),some()ievery(). - Etykiety stosuj oszczędnie. Często czytelniej jest wydzielić zagnieżdżone pętle do funkcji i wyjść z nich przez
return.
Powiązane hasła
#- continuePomija resztę bieżącego obrotu pętli i przechodzi od razu do następnego.
- forPętla z licznikiem: inicjalizacja, warunek i krok. Powtarza blok kodu, dopóki warunek jest prawdziwy.
- whilePowtarza blok kodu, dopóki warunek jest prawdziwy. Warunek sprawdza przed każdym obrotem.
- switchPorównuje wartość z listą przypadków case i wykonuje kod od pierwszego pasującego.
- Array.prototype.find()Zwraca pierwszy element spełniający warunek albo undefined.
- Array.prototype.some()Sprawdza, czy przynajmniej jeden element spełnia warunek.
Widzisz błąd albo brakuje przykładu? Napisz do nas.