Это выражение.Это эквивалентно написанию
0 === 1;
Вы пишете выражение, которое имеет непосредственные побочные эффекты и которое считается плохим.
Обычно выражения являются бесполезными утверждениями, которые не имеют стороннихэффект.Лучше всего просто набрать
if (s === "test") {
MyFunc();
} else {
MyFunc2();
}
Кроме того, это совершенно твердый синтаксис.Я лично согласен с тем, что написание краткого троичного в качестве альтернативы if
- это плохо, и вам лучше использовать его только для присваивания.
Другое короткое выражение, которое (ab) использовалось для краткого-ness
someCondition && doMagic(magic);
someCondition || doMagic(magic);
Опять же, они считаются дурным тоном, если их использовать только как выражения, потому что их использование просто скрывает логику и усложняет поддержку кода.
JSHint имеет опцию expr
для этого.См билет
Бег:
/*jshint
expr: true
*/
var s, MyFunc, MyFunc2;
s === "test" ? MyFunc() : MyFunc2();
0 === 1;
Пройдет