break

Natychmiast kończy pętlę lub instrukcję switch i przechodzi do kodu, który jest za nią.

Na tej stronie

Przykład

#
JavaScript
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)
Konsola
Sprawdzam 4
Sprawdzam 7
Znaleziono 12

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

#
Składnia
break
break label

Więcej przykładów

#
Wyjście z pętli zagnieżdżonych przez etykietę
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)
Konsola
{ row: 1, col: 2 }
break w pętli 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)
Konsola
15

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 callbackach break to błąd składni. Wybierz for...of albo metody, które same kończą pracę: find(), some() i every().
  • 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

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.