В JavaScript можно ли разместить условный оператор после оператора Or? Если да, то почему следующие неудачи для меня?Условный оператор после оператора Or в JavaScript
var value = 1 || true ? 2 : 3; // equals to 2
Когда я устанавливаю значение будет равно [1 || true ? 2 : 3]
, я получаю неожиданный результат. результат, который получают в том, что:
value == 2
Я ожидаемое значение будет равно 1 (value= = 1
), так как 1 является truthy, и заявление Или должно быть возвращение 1. Условный оператор даже не предполагается для выполнения.
Единственный способ val может быть равен 2 (val == 2
), если оператор Or ведет себя не так, как ожидалось, и запускает вторую часть оператора Or и условного оператора, который находится в нем.
Почему это так?
Потому что это интерпретируется как '(1 || true)? 2: 3' – haim770
Ох .. Я забыл о приоритете оператора. –