Skip to main content

Види циклів в JS

1. for: класичний цикл

Використовується, коли заздалегідь відоме число ітерацій.

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

Результат:

javascript
0 1 2 3 4

Структура:

javascript
for (ініціалізація; умова; крок) { // тіло циклу }
  • ініціалізація виконується один раз на початку
  • умова перевіряється перед кожною ітерацією
  • крок виконується після кожної ітерації

2. while: цикл з передумовою

Виконується поки умова істинна (true).

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

Використовується, коли кількість ітерацій невідома заздалегідь.


3. do...while: цикл з післяумовою

Гарантовано виконається хоча б один раз.

javascript
let i = 5; do { console.log(i); i++; } while (i < 5);

Результат:

javascript
5

Спочатку виконується тіло циклу, потім перевіряється умова.


4. for...in: перебір ключів об'єкта

Використовується для проходу по властивостях об'єкта.

javascript
const user = { name: 'Oleh', age: 25, city: 'Kyiv' }; for (let key in user) { console.log(key, ':', user[key]); }

Результат:

javascript
name : Oleh age : 25 city : Kyiv

Особливості:

  • Перебирає всі перелічувані властивості, включно з успадкованими.
  • Не гарантує порядок.
  • Краще не використовувати для масивів.

5. for...of: перебір ітерованих об'єктів

Ідеальний для масивів, рядків, Set, Map тощо.

javascript
const numbers = [10, 20, 30]; for (let num of numbers) { console.log(num); }

Результат:

javascript
10 20 30

Можна і з рядком:

javascript
for (let char of 'JS') { console.log(char); }

Перебирає значення, а не ключі (на відміну від for...in).


6. forEach(): метод масивів

Не оператор, а метод масиву, але виконує те саме завдання: перебір.

javascript
const arr = ['a', 'b', 'c']; arr.forEach((value, index) => { console.log(index, value); });

Результат:

javascript
0 a 1 b 2 c

Особливості:

  • Не можна використовувати break або continue.
  • Зручний для ітерацій без виходу.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.