HTML / CSSJavaScriptNode jsПаттерны проектированияПрактические

Условные операторы

Обычная последовательность выполнения кода соответствует порядку следования команд:

1var x = 5 // будет выполнена первой
2var y = 11 // будет выполнена второй
3var z = x * y + 5 // будет выполнена третьей
ℹ️note

Условный оператор обеспечивает возможность ветвления скрипта в зависимости от выполнения определенного условия.

if else

Любое значение, которое может быть приведено к типу Boolean может стать условием для условного оператора if-else:

Синтаксис:

1if (cond){
2 //if cond is true
3}
4else {
5 //if cond is false
6}

Например:

1var age = 20
2if (age > 18){
3 console.log('Welcome')
4}
5else {
6 console.log('Sorry,You are so young for that.')
7}
8
9//
10
11if (age < 18){
12 console.log('Sorry,You are so young for that.')
13}
14else {
15 console.log('Welcome')
16}

Если в теле условного оператора if всего одна операция, фигурные скобки можно опустить:

1if (age > 18) console.log('Hello ')
🔥Важно

Присвоение тоже является выражением, а следовательно, если вы забудете в if в сравнении =, никакой ошибки не будет, однако это работает не так, как вы думаете:smirk:

1var a = 0
2if (a = 0){
3 console.log('Я УШЕЛ')
4}
5else {
6 console.log('неожиданно, правда?')
7}

А всё потому, что присвоение является выражением, которое вычисляется в присвоенное значение.

if может быть так же применен без else:

1var isYoung = true
2var x = 10
3if (isYoung){
4x = 7
5}
6console.log('x =',x)

Тернарный оператор

Данный оператор позволяет сократить пару if-else в некоторых ситуациях:

1var age = 18
2var isYoung = age > 18 ? 'Yes' : 'No';
3console.log('isYoung',isYoung)
❗️Важно

Принципиально отличие тернарного оператора от if-else заключается в том, что тернарный оператор является выражением.

switch

switch позволяет выполнять определенные блоки кода в зависимости от значения выражения:

1var day
2switch (new Date().getDay()) {
3 case 0:
4 day = "Sunday";
5 break;
6 case 1:
7 day = "Monday";
8 break;
9 case 2:
10 day = "Tuesday";
11 break;
12 case 3:
13 day = "Wednesday";
14 break;
15 case 4:
16 day = "Thursday";
17 break;
18 case 5:
19 day = "Friday";
20 break;
21 case 6:
22 day = "Saturday";
23}
24
25console.log(day) // ??

break в switch обеспечивает переход на конец конструкции switch (т. е. на код, следующий за }).

Если break не поставить, то можно объединить несколько case в один:

1var text;
2switch (new Date().getDay()) {
3 case 4:
4 case 5:
5 text = "Soon it is Weekend";
6 break;
7 case 0:
8 case 6:
9 text = "It is Weekend";
10 break;
11 default:
12 text = "Looking forward to the Weekend";
13}
14
15console.log(text)

Самостоятельная Работа 🧑‍🎓

Используя примеры cо switch переписать их используя if-else

Hello