JavaScript - Оператор продолжения

Здравствуйте, будущие маги JavaScript! Сегодня мы погрузимся в один из самых полезных операторов управления потоком в JavaScript: оператор продолжения (Continue Statement). Это как если бы у вас была кнопка "пропустить" для вашего кода! Давайте отправимся в это захватывающее путешествие вместе.

JavaScript - Continue Statement

Что такое оператор продолжения?

Прежде чем мы углубимся в детали, давайте поймем, что делает оператор продолжения. Представьте, что вы читаете книгу, и наткнулись на страницу, которая вам неинтересна. Что вы делаете? Вы пропускаете её и продолжаете читать следующую страницу, верно? Именно так и работает оператор продолжения в программировании!

Оператор продолжения instructs the program to skip the rest of the current iteration in a loop and move on to the next one. Это как если бы вы говорили: "Здесь nichts zu sehen, давайте перейдем дальше!"

Синтаксис

Синтаксис оператора продолжения предельно прост:

continue;

Вот и всё! Всего одно слово, и оно делает так много. Но помните, оно работает только внутри циклов. Использование его вне цикла вызовет ошибку, так же как попытка пропустить страницу в книге, которую вы не читаете!

Оператор продолжения с циклом for

Давайте начнем с最常见的 использования оператора продолжения: внутри цикла for. Вот пример:

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

Что вы думаете, что выведет этот код? Давайте разберем это:

  1. Цикл начинается с i = 1.
  2. Он выводит 1.
  3. i становится 2, он выводит 2.
  4. i становится 3, но подождите! Условие if истинно, поэтому оно достигает оператора continue.
  5. Оператор continue instructs the loop to skip everything else and go to the next iteration.
  6. i становится 4, он выводит 4.
  7. Наконец, i становится 5, он выводит 5.

Итак, вывод будет следующим:

1
2
4
5

Обратите внимание, что 3 отсутствует? Это наш оператор продолжения в действии!

Оператор продолжения с циклом while

Оператор продолжения также хорошо работает с циклами while. Давайте рассмотрим пример:

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

Этот код аналогичен нашему примеру с циклом for, но с циклом while. Guess the output? That's right:

1
2
4
5

Опять же, 3 пропущен из-за нашего надежного оператора продолжения.

Оператор продолжения с вложенными циклами

Теперь давайте добавим немного остроты с вложенными циклами. Это место, где вещи становятся действительно интересными!

for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
if (i === 2 && j === 2) {
continue;
}
console.log(`i = ${i}, j = ${j}`);
}
}

Этот код имеет цикл внутри другого цикла. Оператор продолжения находится во внутреннем цикле. Что вы думаете произойдет? Давайте посмотрим:

i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 2
i = 3, j = 3

Обратите внимание, что i = 2, j = 2 отсутствует? Это наш оператор продолжения в действии снова! He пропустил эту конкретную итерацию внутреннего цикла.

Общие случаи использования

Теперь, когда мы понимаем, как работает оператор продолжения, давайте рассмотрим некоторые распространенные сценарии, где он особенно полезен:

  1. Пропуск нежелательных элементов в массиве:
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 !== 0) {
continue;
}
console.log(numbers[i]);
}

Этот код будет выводить только четные числа, пропуская все нечетные.

  1. Избегание ненужных вычислений:
for (let i = 1; i <= 100; i++) {
if (i % 10 !== 0) {
continue;
}
console.log(`${i} divisible by 10`);
}

Этот код будет выполнять операцию console.log только для чисел, divisible by 10, экономя ненужные вычисления.

Лучшие практики и советы

  1. Используйте экономно: Хотя оператор продолжения мощен, его чрезмерное использование может сделать ваш код сложнее для чтения. Используйте его только тогда, когда это действительно упрощает вашу логику.

  2. Комментируйте ваш код: Когда вы используете оператор продолжения, часто полезно оставлять комментарий, объясняющий, почему вы пропускаете эту итерацию.

  3. Будьте осторожны с циклами do...while: Оператор продолжения в цикле do...while перейдет к проверке условия, а не к началу тела цикла.

Вот таблица, резюмирующая ключевые моменты о операторе продолжения:

Аспект Описание
Назначение Пропускает оставшуюся часть текущей итерации цикла
Синтаксис continue;
Работает с Циклами for, while, do...while
Влияние на вложенные циклы Влияет только на внутренний цикл, содержащий его
Лучше всего используется для Пропуск不必要的 итераций или вычислений

И вот оно, друзья! Теперь вы вооружены знаниями о операторе продолжения. Помните, как и любое другое средство в программировании, всё дело в том, когда и как его использовать. Удачи в программировании, и пусть ваши циклы всегда продолжаются гладко!

Credits: Image by storyset