В чем разница между 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.