Инструкция if(...) вычисляет условие в скобках и, если результат true, то выполняет блок кода в фигурных скобках {…}.
if (10 > 1)
{
alert('Правда');
}
if (10 < 1)
{
alert('Ложь');
}
if (10 == 10)
{
alert('Правда');
}
Инструкция if может содержать необязательный блок «else» («иначе»). Он выполняется, когда условие ложно.
if (10 > 1)
{
alert('Правда');
}
else
{
alert('Ложь');
}
Если нужно проверить несколько вариантов условия, то для этого используется блок else if.
if (10 > 1)
{
alert('10 > 1');
}
else if (10 < 1)
{
alert('10 < 1');
}
else if (10 == 1)
{
alert('10 == 1');
}
// Выведет 10 > 1
Тернарный оператор имеет следующий синтаксис
let result = условие ? значение1 : значение2;
Сначала вычисляется условие: если оно истинно, тогда возвращается значение1, в противном случае – значение2.
let accessAllowed = (age > 18) ? true : false;
В JavaScript есть четыре логических оператора: || (ИЛИ), && (И) и ! (НЕ), ?? (Оператор нулевого слияния).
alert( true || true ); // true
alert( false || true ); // true
alert( true || false ); // true
alert( false || false ); // false
Использование ||
**1. Получение первого истинного значения из списка переменных или выражений. **Цепочка ИЛИ || возвращает первое истинное значение или последнее, если такое значение не найдено.
let currentUser = null;
let defaultUser = "John";
let name = currentUser || defaultUser || "unnamed";
alert( name ); // выбирается "John" – первое истинное значение
2. Сокращённое вычисление.
ИЛИ || вычисляет их слева направо. Вычисление останавливается при достижении первого истинного значения. Этот процесс называется «сокращённым вычислением», поскольку второй операнд вычисляется только в том случае, если первого недостаточно для вычисления всего выражения.
let x;
true || (x = 1);
alert(x); // undefined, потому что (x = 1) не вычисляется
false || (x = 1);
alert(x); // 1
alert( true && true ); // true
alert( false && true ); // false
alert( true && false ); // false
alert( false && false ); // false
И «&&» находит первое ложное значение
alert( !true ); // false
alert( !0 ); // true
Двойное НЕ !! используют для преобразования значений к логическому типу. Равносильно функции Boolean(value):
alert( !!"non-empty string" ); // true
alert( !!null ); // false
alert( Boolean("non-empty string") ); // true
alert( Boolean(null) ); // false
Будем считать, что выражение определено, если оно не равно null или undefined.
Результат выражения a ?? b будет следующим:
если
aопределено, тоa,если
aне определено, тоb.
Оператор ?? может быть записано следующим образом:
result = (a !== null && a !== undefined) ? a : b;
Как правило, оператор ?? нужен для того, чтобы задать значение по умолчанию для потенциально неопределённой переменной.
https://learn.javascript.ru/ifelse
