От автора: сегодня мы поговорим о том, для чего нужны в TypeScript циклы. Существует много случаев, когда нам нужно выполнить блок кода несколько раз. Обычно операторы выполняются последовательно один за другим: первый оператор в функции выполняется первым, после него выполняется второй и так далее.
Языки программирования предоставляют много управляющих конструкций для более сложных способов выполнения. Оператор цикла позволяет многократно выполнять оператор или группу операторов. Снизу приведена общая схема оператора цикла, которая используется в большинстве языков программирования.
TypeScript предоставляет много видов циклов. Следующая схема иллюстрирует классификацию циклов:
Определенный цикл (Definite Loop)
Цикл, для которого количество итераций является определенным/фиксированным, называется определенным циклом. Цикл for является определенным циклом.
for loop — Цикл for является определенным циклом.
Неопределенный цикл (Indefinite Loop)
Неопределенный цикл используется в тех случаях, когда число итераций цикла является неопределенным или неизвестным. Неопределенными циклами являются:
while loop — Цикл while выполняет операторы каждый раз, когда заданное условие является истинным.
do… while — Цикл do…while похож на цикл while, только цикл do…while не оценивает условие при первом исполнении цикла.
Пример: while и do…while
1 2 3 4 5 6 7 8 |
var n:number = 5 while(n > 5) { console.log("Entered while") } do { console.log("Entered do…while") } while(n>5) |
В примере изначально объявляется цикл while. Цикл выполняется только если выражение, переданное while, является истинным. В этом примере значение n не больше нуля, отсюда следует, что выражения является ложным и цикл не выполняется.
Цикл do…while, в свою очередь, выполняет оператор один раз, потому что изначальная итерация не учитывает логическое выражение. Однако, в результате итерации, while проверяет условие и передает управление над циклом. После компиляции мы получим следующий код JavaScript:
1 2 3 4 5 6 7 8 9 |
//Сгенерировано typescript 1.8.10 var n = 5; while (n > 5) { console.log("Entered while"); } do { console.log("Entered do…while"); } while (n > 5); |
Вышеуказанный код дает такой результат: Entered do…while
Оператор break
Оператор break используется для того, чтобы переключить управление конструкции. Использование break в цикле указывает программе выйти из цикла. Его синтаксис выглядит следующим образом:
Синтаксис
1 |
break |
Блок-схема
Пример
Давайте теперь рассмотрим на следующий код:
1 2 3 4 5 6 7 8 |
var i:number = 1 while(i<=10) { if (i % 5 == 0) { console.log ("The first multiple of 5 between 1 and 10 is : "+i) break //выходит из цикла, если найдено первое число кратное 5 } i++ } //выводит 5 и выходит из цикла |
После компиляции мы получим следующий JavaScript код:
1 2 3 4 5 6 7 8 9 10 |
//Сгенерировано typescript 1.8.10 var i = 1; while (i <= 10) { if (i % 5 == 0) { console.log("The first multiple of 5 between 1 and 10 is : " + i); break; // выходит из цикла, если найдено первое число кратное 5 } i++; } // выводит 5 и выходит из цикла |
Вышеуказанный код выдаст нам такой результат: The first multiple of 5 between 1 and 10 is : 5
Оператор continue
Оператор continue пропускает следующие операторы в текущей итерации и переключает управление на начало цикла. Разница с оператором break заключается в том, что continue не прерывает цикл. Он прерывает только текущую итерацию и начинает следующую итерацию.
Синтаксис
1 |
continue |
Структурная схема
Пример
Ниже приведен пример оператора continue:
1 2 3 4 5 6 7 8 9 10 |
var num:number = 0 var count:number = 0; for(num=0;num<=20;num++) { if (num % 2==0) { continue } count++ } console.log (" The count of odd values between 0 and 20 is: "+count) //outputs 10 |
Этот код отображает количество четных значений между 0 и 20. Цикл прерывает текущую итерацию, если число четное. Это происходим благодаря оператору continue. После компиляции мы получим следующий JavaScript код:
1 2 3 4 5 6 7 8 9 10 11 |
//Сгенерировано typescript 1.8.10 var num = 0; var count = 0; for (num = 0; num <= 20; num++) { if (num % 2 == 0) { continue; } count++; } console.log(" The count of odd values between 0 and 20 is: " + count); //выводит 10 |
Результат
1 |
The count of odd values between 0 and 20 is: 10 |
Бесконечный цикл
Бесконечный цикл выполняется без конца. Циклы for и while используют, чтобы задать бесконечный цикл.
Синтаксис: использование бесконечного цикла
1 2 3 |
for(;;) { //statements } |
Пример: использование бесконечного цикла
1 2 3 |
for(;;) { console.log(“This is an endless loop”) } |
Синтаксис: использование бесконечного цикла
1 2 3 |
while(true) { //statements } |
Пример: использование бесконечного цикла
1 2 3 |
while(true) { console.log(“This is an endless loop”) } |
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.