JavaScript

Когда использовать цикл for, а когда while?

для каких задач подходит каждый из этих циклов и как понять, что для решений какой-то задачи нужно применить именно тот или другой цикл?
Раз вопрос в разделе JS, то и ответ про JS.

for - это не один цикл, а ТРИ разных цикла, имеющих разный синтаксис.

Когда мы перебираем ключи объекта (включая массив) - используем цикл for-in:
for (let index in object)

Когда мы перебираем значения массива - используем цикл for-of:
for (let value of array)

Вариант цикла for (a; b; c) является синтаксическим сахаром для while (b) и чаще всего используется в тех случаях, когда приводит к упрощению кода:
for (let i = 0; i < 10; ++i) { console.log(i); }
проще и понятнее, чем:
let i = 0; while (i < 10) { console.log(i); ++i; }
Реальная разница между этими вариантами станет заметна только при использовании внутри цикла continue.

Но бывают случаи, когда нет ни инициализации (let i = 0), ни обязательного приращения после каждой итерации (++i), а есть только условие. Тогда используется while.
Андрей Егоров
Андрей Егоров
70 836
Лучший ответ
Любой цикл можно организовать через WHILE. Возможно, при помощи дополнительных переменных...

Потому я его уважаю более других вариантов.
Василий Билейчук то есть в основном можно просто использовать while?
если проще говоря, то for - когда ты знаешь сколько раз или в каких пределах нужно повторить операцию, а while если нет. Циклом while нужно пользоваться аккуратно, можешь подвесить систему или как минимум среду разработки
Василий Билейчук ну например?
Мне при работе за компьютером цикл while вообще не разу не пригодился.
Цикл с заданными параметрами и обычный цикл, думаю должно быть понятно что когда
Иван Калита
Иван Калита
2 169
while нужен тогда, когда нужно чтобы условие цикла исполнилось обязательно хотя бы раз. В остальных случаях - for
Мгер Акопян
Мгер Акопян
1 003
Иван Калита Вообще-то нет, для того чтобы хотя бы раз это do while