Извинения, если это обман, я видел только сравнение or ||
.Тернар против логических операторов
Если я хочу, чтобы установить значение одной переменной на основе одного условия, где b
всегда будет оценивать в true
(не 0, NULL, не определено), то почему бы использовать тройной оператор a?b:c
над логическим a&&b||c
? Они оба, кажется, выполняют точную ту же функцию, хотя тесты на jsperf показывают, что последнее немного быстрее.
Какова цель тернарного оператора, если очень похожая операция и синтаксис превосходят ее при одной и той же задаче? Более любопытно, что это делает do, что делает его медленнее?
Это не то же самое. Проверьте «1? 0: 2' против '1 && 0 || 2'. –
Это правда, возможно, я должен уточнить, что в гораздо более распространенном экземпляре оба значения оцениваются как true. –