В чем разница между while и do-while?
Основы языка
`while` и `do-while` — циклы по условию, но `while` проверяет условие перед итерацией (может не выполниться ни разу), а `do-while` — после (выполнится минимум один раз).
while — проверка перед
Условие проверяется до тела; если ложно сразу — тело не выполнится ни разу:
let i = 5;
while (i < 5) {
console.log(i); // не выполнится — условие сразу false
}do-while — проверка после
Тело выполняется сначала, потом проверяется условие — гарантированно минимум один раз:
let i = 5;
do {
console.log(i); // выполнится один раз (i = 5)
} while (i < 5); // условие проверяется послеГлавное различие
- while — «проверь, потом делай» → может 0 итераций.
- do-while — «сделай, потом проверь» → минимум 1 итерация.
Когда применять do-while
Когда тело нужно выполнить хотя бы раз перед проверкой:
let input;
do {
input = prompt('Введите число');
} while (isNaN(input)); // спросить хотя бы раз, повторять пока невалидноКоротко для собеседования
while проверяет условие перед телом — может не выполниться ни разу. do-while проверяет после тела — выполняется минимум один раз. do-while используют, когда нужно гарантированно выполнить тело хотя бы раз (запрос ввода с повтором до валидного).