JS об'єкт do...while
Загальний опис
do...while
— це конструкція циклу в JavaScript, яка гарантує виконання блоку коду щонайменше один раз, навіть якщо умова для повторення спочатку є хибною. Основна відмінність від циклу while
полягає в тому, що перевірка умови виконується після виконання тіла циклу, а не перед ним.
Цикл починається зі слова do
, після чого йде блок коду в фігурних дужках {}
. Після блоку розміщено ключове слово while
і умову в круглих дужках ()
. Якщо умова є істиною, виконання блоку повторюється. Якщо хибна — цикл завершується.
let counter = 0;
do {
console.log(`Значення лічильника: ${counter}`);
counter++;
} while (counter < 5);
// Виведе числа від 0 до 4.
Ця конструкція ідеально підходить для ситуацій, коли необхідно виконати певну дію перед перевіркою її доцільності, наприклад, для запиту користувацького вводу, що повторюється до введення коректного значення.
let input;
do {
input = prompt("Введіть число більше за 10:");
} while (input <= 10 && input !== null);
console.log(`Ви ввели: ${input}`);
У цьому прикладі, навіть якщо користувач одразу введе коректне значення, тіло циклу виконається хоча б один раз.
Порада: | Якщо логіка циклу не вимагає виконання до перевірки умови, |
Порада: | Для покращення читабельності коду розділіть складні умови на окремі змінні чи функції. Наприклад:
|
Порада: | У циклі з користувацьким вводом або валідацією виводьте інструкції перед виконанням, оскільки тіло виконається першим. |
Синтаксис
do {
// Код, що виконується
} while (умова);
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
4 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
Користувач вводить число в поле вводу та натискає кнопку. JavaScript за допомогою do...while
виводить послідовність чисел від 1 до зазначеного числа у контейнері #output
. Це наочно демонструє принцип роботи циклу: перший ітерація завжди виконується незалежно від початкової умови.
Цей код перевіряє правильність вводу email. Користувач має максимум три спроби, після чого програма завершиться.
let attempts = 0;
let isValid = false;
do {
let input = prompt("Введіть коректний email:");
isValid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(input);
attempts++;
if (!isValid) {
console.log(`Спроба ${attempts}: Неправильний email.`);
}
} while (!isValid && attempts < 3);
if (isValid) {
console.log("Email прийнято.");
} else {
console.log("Занадто багато спроб.");
}
Цей приклад створює масив з п’яти унікальних випадкових чисел. Конструкція do...while
гарантує, що генерація продовжиться, поки масив не досягне потрібного розміру.
const uniqueNumbers = [];
do {
let randomNum = Math.floor(Math.random() * 100);
if (!uniqueNumbers.includes(randomNum)) {
uniqueNumbers.push(randomNum);
console.log(`Додано: ${randomNum}`);
}
} while (uniqueNumbers.length < 5);
console.log(`Унікальні числа: ${uniqueNumbers}`);