Условные операторы
Обычная последовательность выполнения кода соответствует порядку следования команд:
1var x = 5 // будет выполнена первой2var y = 11 // будет выполнена второй3var z = x * y + 5 // будет выполнена третьей
note
Условный оператор обеспечивает возможность ветвления скрипта в зависимости от выполнения определенного условия.
if else
Любое значение, которое может быть приведено к типу Boolean может стать условием для условного оператора if-else:
Синтаксис:
1if (cond){2 //if cond is true3}4else {5 //if cond is false6}
Например:
1var age = 202if (age > 18){3 console.log('Welcome')4}5else {6 console.log('Sorry,You are so young for that.')7}89//1011if (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 = 02if (a = 0){3 console.log('Я УШЕЛ')4}5else {6 console.log('неожиданно, правда?')7}
А всё потому, что присвоение является выражением, которое вычисляется в присвоенное значение.
if может быть так же применен без else:
1var isYoung = true2var x = 103if (isYoung){4x = 75}6console.log('x =',x)
Тернарный оператор
Данный оператор позволяет сократить пару if-else в некоторых ситуациях:
1var age = 182var isYoung = age > 18 ? 'Yes' : 'No';3console.log('isYoung',isYoung)
Важно
Принципиально отличие тернарного оператора от if-else заключается в том, что тернарный оператор является выражением.
switch
switch позволяет выполнять определенные блоки кода в зависимости от значения выражения:
1var day2switch (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}2425console.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}1415console.log(text)
Самостоятельная Работа 🧑🎓
Используя примеры cо switch переписать их используя if-else