for — цикл с счётчиком, позволяющий итерировать по числовому диапазону или индексам массива. foreach (или for...of в JavaScript) предназначен для итерации по элементам итерируемых объектов (массивы, строки, Map, Set) напрямую, без необходимости работы с индексами. Главное отличие — в способе доступа к элементам: for оперирует индексами, foreach — значениями.
For:
javascript
Foreach (for...of):
javascript
Ключевые отличия:
| Характеристика | for | foreach (for...of) |
|---|---|---|
| Способ итерации | По индексам или числовому диапазону | По значениям итерируемого объекта |
| Доступ к элементам | Через индекс (arr[i]) | Напрямую (const item of arr) |
| Возможность пропуска итераций | Да (с continue) | Да (с continue) |
| Возможность прерывания | Да (с break) | Да (с break) |
| Применимость | Общий цикл, подходит для любых задач | Для итерируемых объектов |
| Доступ к индексу | Есть | Нет (нужно дополнительно получать) |