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

В чем разница между for и while?

Основы языка

`for` и `while` — оба цикла, но `for` удобен, когда известно число итераций (со счётчиком), а `while` — когда цикл выполняется по условию неизвестное число раз.

for — со счётчиком

Инициализация, условие и шаг в одном месте — удобно для известного числа итераций:

for (let i = 0; i < 5; i++) {
  console.log(i);
}

while — по условию

Выполняется, пока условие истинно — когда число итераций заранее неизвестно:

let value = getData();
while (value !== null) {
  process(value);
  value = getData(); // условие меняется внутри
}

Функциональная эквивалентность

Любой for можно записать через while и наоборот — они взаимозаменяемы:

// for
for (let i = 0; i < 3; i++) {}
// эквивалентный while
let i = 0;
while (i < 3) { i++; }

Как выбирать

  • Известно число итераций / есть счётчик → for (компактнее, счётчик рядом).
  • Цикл по условию, число итераций неизвестно → while (пока не выполнится условие).
  • Перебор коллекций → for...of/forEach.

Коротко для собеседования

for удобен при известном числе итераций (инициализация, условие, шаг вместе — счётчик). while — когда число итераций неизвестно, цикл идёт по условию. Функционально взаимозаменяемы. Для перебора коллекций — for...of.

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