PassFront
  1. PassFront
  2. База знаний
  3. Основы языка

В чем разница между 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 используют, когда нужно гарантированно выполнить тело хотя бы раз (запрос ввода с повтором до валидного).

Другие вопросы раздела