В общем заголовок вопроса полностью исчерпывающий. Просто хочу понять, почему в javascript нельзя писать условия if через "a === (b || c)", типа:
var a = 2,
b = 2,
c = 3;
if (a === (b || c)) {
console.log(a)
}
return null
Или иначе, если это не реализуемо:
if (a === b || b === c)
Писать условие a === b || b === c
как b === (a || c)
нельзя по той простой причине что эти выражения не эквивалентны. В Javascript операции выполняются не в том порядке в котором они "выполняются" в русском языке, а в соответствии с фиксированными приоритетами и довольно простой грамматикой. Конкретно в выражении b === (a || c)
сначала вычисляется a || c
- в результате чего получается одно число, с которым и сравнивается b
. Для того чтобы сравнить b
с двумя числами, надо выполнить два сравнения.
Вообще, условие a === b || b === c
по своей форме довольно простое и нет смысла пытаться упрощать его.
Но если по какой-то причине дублировать b
нежелательно (например, пишется Write-Only однострочник) - можно использовать массив и метод includes: [a, c].includes(b)
let test = (a, b, c) => {
return (a === (b || c));
}
console.info(test(2, 2, 3));
console.info(test(2, 2));
console.info(test(2, undefined, 3));
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть метод для добавления пар ключ - значение в проперти файл словаря, дело в том, что я не знаю как его сделать универсальным, те
Не заполняется поле "Дата рождения" при запуске тест passed, сделал проверку на заполнение полей, выдает асертЭлемент находит, но почему-то пропускает...
Стоит сервер - клиентское приложение , использующее в своей работе Java и TomCatПри соединении клиентского приложения с серверной частью по протоколу...
Требуется реализовать возможность вывода фотографий после получения ответа JSON с сервераВ этом ответе содержаться прямые ссылки на фотографии