JavaScript
  • 🧑‍💻Full-Stack Web Developer
  • 📚Теорія
    • 1️⃣Змінні і типи
      • Знайомство з JavaScript
      • Інструменти розробника
      • Підключення скрипту
      • Основи синтаксису
      • Змінні і типи
      • Взаємодія з користувачем
      • Основні оператори
      • Числа
      • Рядки
      • Логічні операції
    • 2️⃣Розгалудження і цикли
      • Розгалуження
      • Тернарний оператор
      • Інструкція switch
      • Область видимості
      • Цикли
    • 3️⃣Масиви
      • Масиви
      • Ітерація по масиву
      • Присвоєння за посиланням і значенням
      • Методи масиву
    • 4️⃣Функції
      • Функції
      • Стек викликів
    • 5️⃣Обʼєкти
      • Обʼєкти
      • Перебирання обʼєкта
      • Масив обʼєктів
      • Операції spread і rest
      • Деструктуризація обʼєктів
      • Деструктуризація масивів
      • Паттерн "обʼєкт параметрів"
    • 6️⃣Колбек-функції, стрілкові функції, перебір масиву
      • Колбек-функції
      • Метод forEach
      • Стрілкові функції
      • Підходи до написання коду
      • Чисті функції
    • 7️⃣Перебираючі методи масивів
      • Перебираючі методи масиву
      • Метод map()
      • Метод flatMap()
      • Метод filter()
      • Метод find()
      • Метод findIndex()
      • Методи every() і some()
      • Метод reduce()
      • Метод sort()
      • Ланцюжки методів
    • 8️⃣Контекст, прототипи та класи
      • Контекст виконання функції
      • Правила визначення this
      • Методи функцій
      • Об'єктно-орієнтоване програмування
      • Прототипне наслідування
    • Класи
  • 👷Практика
    • 👷Практика
    • Page 1
  • Про мене
    • Про мене
Powered by GitBook
On this page
  • Цикл while
  • Цикл do...while
  • Цикл for
  • Оператор break
  • Оператор continue
  1. Теорія
  2. Розгалудження і цикли

Цикли

PreviousОбласть видимостіNextМасиви

Last updated 1 year ago

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

Термінологія:

  • Цикл - конструкція призначена для багаторазового виконання набору інструкцій, поки виконується якась умова.

  • Тіло циклу - інструкції, призначені для багаторазового виконання.

  • Ітерація - один раз виконання тіла циклу.

  • Умова виходу - вираз, який визначає, чи буде в ще раз виконуватися ітерація, або цикл завершиться.

  • Лічильник - змінна, яка зберігає поточний номер ітерації. Цикл не обов'язково містить лічильник, і він не повинен бути один, умова виходу з циклу може залежати від декількох змінних, що змінюються в циклі.

Цикл while

Цикл while використовується для повторення nіла циклу, доки певна умова залишається true. Це дозволяє виконувати один або кілька операторів, поки умова циклу виконується.

while (умова) {
    // Код, який виконується поки умова true
    // Цей код буде виконуватися, доки умова залишається true
}

Це - цикл з передумовою. Спочатку перевіряється умова, а потім виноується тіло циклу. Відтак цикл може не виконатися жодного разу, якщо при першій ітерації не виконується умова.

Порядок виконання циклу while:

  • У циклі while умова перевіряється перед кожною ітерацією.

  • Якщо умова приводиться до true, то виконується тіло циклу.

  • Якщо умова приводиться до false, то виконання циклу переривається і продовжуєтьсявиконання скрипту, що йде після циклу while.

Розробник продумує спосіб вирахування, коли має закінчитись цикл, зазвичай, вводять лічильник, який впливає на умову виконання циклу.

Створимо цикл, який виводить лічильник в консоль.

let count = 0;

while (count < 5) {
    console.log("Поточне значення count: " + count);
    count++;
}

Результат виконання цього циклу

Можна також написати цикл, який буде виконувати на кожній ітерації якісь дії з якоюсь іншою змінною. Наприклад порахуємо суму чисел від 0 до 4.

let summ = 0;
let count = 0;

while (count < 5) {
  console.log("Поточне значення count: " + count);
  summ += count;
  count++;
}

console.log("Сума: ", summ);

Цикл do...while

Цикл do...while є одним із типів циклів, що використовуються для повторення блоку коду, поки задана умова є true. Одна з особливостей цього циклу полягає в тому, що код блоку виконується принаймні один раз, навіть якщо умова спочатку не виконується.

do {
    // Блок коду, який буде виконуватися принаймні один раз
    // після чого перевіряється умова
} while (умова);

Це - цикл з постумовою. Тут умова перевіряється після виконання тіла циклу.

Всередині циклу треба врахувати зміну параметрів, щоб в якийсь момент умова могла стати false. інакше це буде безкінечний цикл.

Розглянемо приклад, коли цикл буде показувати повідомлення із запитом ввести пароль більше 5 символів. І поки не виконається ця умова - буде виводитися вікно введення паролю.

let password;

do {
  password = prompt("Enter your password");
} while (password.length < 6);

console.log("Your password is: ", password);

Цикл for

Цикл for використовують для повторення блоку коду певну кількість разів або для перебору елементів у масивах або об'єктах. Він дозволяє точно контролювати ітерації через спеціальні параметри циклу.

for (ініціалізація; умова; крок) {
    // Код, який буде виконуватися кожну ітерацію циклу
}

Робота циклу for:

  • Ініціалізація (initialization) - виконується один раз до початку циклу. Встановлює початкову точку циклу, наприклад, ініціалізує лічильник.

  • Умова (condition) - умова, яка перевіряється перед кожною ітерацією (повторенням) циклу. Якщо умова true, цикл продовжується; якщо false, цикл завершується.

  • Крок (post-expression) - крок або зміни, які відбуваються кожен раз після виконання блоку коду. Використовується для оновлення змінної-лічильника.

  • Тіло (statements) - набір інструкцій для виконання на кожному повторенні циклу. Виконується, якщо умова приводиться до true.

Змінні-лічильники, за традицією, називають літерами i, j і k.

Приклад використання циклу for для виведення чисел від 1 до 5:

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

У цьому прикладі:

  • let i = 1 - встановлюємо лічильник i в 1.

  • i <= 5 - умова перевіряє, чи i менше або дорівнює 5.

  • i++ - після кожної ітерації збільшуємо i на 1.

Напишемо цикл for, який порахує суму чисел від 0 до 4 (вище робили реалізацію на циклі while).

let summ = 0;

for (let i = 0; i <= 4; i += 1) {
  console.log("Поточне значення лічильника: " + i);
  summ += i;
}

console.log("Сума: ", summ);

Оператор break

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

Оператор break використовується у циклах (for, while, do...while, for...in, for...of) і має такий синтаксис:

for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break; // Припиняє виконання циклу, коли i дорівнює 5
    }
    console.log(i);
}

console.log("Log after loop");

У цьому прикладі, коли i дорівнює 5, оператор break викликається, і виконання циклу завершується. Таким чином, виведені будуть числа від 0 до 4, оскільки при i = 5 цикл припиняється.

Оператор continue

Оператор continue використовується для переходу до наступної ітерації циклу, пропускаючи решту коду блоку циклу для поточної ітерації. Коли викликається continue, виконання поточної ітерації припиняється, і управління передається наступній ітерації циклу.

Оператор continue використовується у циклах (for, while, do...while, for...in, for...of) і має такий синтаксис:

for (let i = 0; i < 5; i++) {
    if (i === 2) {
        continue; // Пропускає виконання решти коду блоку для i = 2
    }
    console.log(i);
}

У цьому прикладі, коли i дорівнює 2, оператор continue викликається, пропускаючи виконання решти коду у поточній ітерації. Таким чином, виведені будуть числа від 0 до 4, але 2 буде пропущено.

📚
2️⃣