01 Модуль -- 06 Ветвления if, else if, тернарный оператор и switch Flashcards
Ветвеления устроены по одному принципу
входные данные приводятся к булю (true или false) и, в зависимости от результата этого значения, поток программы направляется в ту или иную ветку.
Если условие(данные в круглых скобках) приводится к true,
то выполняется код в фигурных скобках (ветка). Если условие приводится к false, код в фигурных скобках будет пропущен.
else…if При первом же true проверки
прекратятся и выполнится только один сценарий, соотвествующий этому true. Поэтому подобную запись следует читать как: ищу первое совпадение условия, игнорирую все остальное.
Тернарный оператор работает следующим образом:
Если условие истинно (true), вычисляется выражение после ?, в противном случае значение после :
Результат вычисленного выражения возвращается
Пример:
const age = 20;
const type = age >= 18 ? ‘adult’ : ‘child’;
Тернарный оператор должен использоваться в
простых операциях присваивания. Его использование для описания сложных ветвлений — плохая практика.
Switch
Значение выражения(switch(значение)) - строка или число, которое сравнивается со всеми значениями case. Если совпадения не произошло, управление передается default.
Пример switch
let cost; const subscription = 'premium';
switch (subscription) {
case ‘free’:
cost = 0;
break;
case ‘premium’:
cost = 500;
break;
default:
console.log(‘Invalid subscription type’);
}
console.log(cost); // 500
Оператор break в switch
Оператор break в завершении каждого блока case ставят чтобы прервать дальнейшие проверки и сразу перейти к коду за инструкцией switch. Если оператор break будет отсутствовать, то после того как выполнится какое-то условие case, все последующие за ним блоки кода будут выполняться один за другим, что может привести к нежелательным последствиям при неверном применении.