do. . . while
Wykonuje blok kodu co najmniej raz, a potem powtarza go, dopóki warunek jest prawdziwy.
Przykład
#let attempts = 0
do {
attempts++
console.log(`Próba ${attempts}`)
} while (attempts < 3)Definicja i zastosowanie
#Pętla do...while działa jak while, ale warunek sprawdza dopiero po wykonaniu bloku. Dzięki temu kod w środku zawsze uruchomi się przynajmniej raz, nawet jeśli warunek od początku jest fałszywy.
To naturalny wybór, gdy najpierw trzeba coś zrobić, a dopiero potem ocenić wynik: wygenerować wartość i sprawdzić, czy pasuje, zapytać użytkownika i powtórzyć pytanie przy błędnej odpowiedzi albo pobrać pierwszą porcję danych.
Zmienne zadeklarowane przez let lub const wewnątrz bloku nie są widoczne w warunku. To, co sprawdzasz w while (...), zadeklaruj przed pętlą.
Składnia
#do {
// instrukcje
} while (condition)Więcej przykładów
#let lives = 0
do {
console.log('Start gry, życia:', lives)
} while (lives > 0)
while (lives > 0) {
console.log('To się nie wypisze')
}const taken = ['A1', 'A2', 'A3']
let number = 0
let code
do {
number++
code = `A${number}`
} while (taken.includes(code))
console.log(code)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
#- Zmienną używaną w warunku deklaruj przed
do, bo blok pętli ma własny zasięg. do...whilespotkasz rzadziej niżwhileczyfor. Używaj go wtedy, gdy „co najmniej raz” naprawdę wynika z logiki programu.
Powiązane hasła
#- whilePowtarza blok kodu, dopóki warunek jest prawdziwy. Warunek sprawdza przed każdym obrotem.
- forPętla z licznikiem: inicjalizacja, warunek i krok. Powtarza blok kodu, dopóki warunek jest prawdziwy.
- breakNatychmiast kończy pętlę lub instrukcję switch i przechodzi do kodu, który jest za nią.
- continuePomija resztę bieżącego obrotu pętli i przechodzi od razu do następnego.
Widzisz błąd albo brakuje przykładu? Napisz do nas.