Я познакомился с концепцией тернарных операторов, и довольно просто понять нотацию:
desired_variable = true ? false ? "value1" : "value2";
Однако я не мог понять, почему добавлена вторая переменная, даже если я понимаю ответ. Чтобы использовать классический пример:
var eatsPlants = false;
var eatsAnimals = false;
var category;
category = eatsPlants ? eatsAnimals ? "omnivore" : "herbivore" : eatsAnimals ? "carnivore" : undefined;
console.log(category)
Вот одно наблюдение: если я изменю порядок переменных на приведенный ниже оператор, функция не будет работать:
category = eatsAnimals ? eatsPlants? "carnivore" : undefined : eatsPlants ? "herbivore" : "omnivore";
console.log(category)
Мой вопрос: почему функция не работает, когда условия перевернуты? И как мне выбрать порядок членов, когда у меня есть две или более переменных (и, следовательно, четыре или более результатов)?
variable = comparison ? value1 : value2;
- person Nina Scholz   schedule 09.03.2019if/else
. Нет смысла размещать все в одной строке, если вам потребуется больше времени, чтобы прочитать и понять, что происходит. - person VLAZ   schedule 09.03.2019