Это
expression ? expression : expression
точно так же, как C. На самом деле это немного слабее, потому что JavaScript не является строго типизированным.Таким образом, две возможные «вилки» оператора могут привести к разным типам значений.
Таким образом:
alert(document.all ? "Hello from IE!" : "Hello from a non-IE browser!");
В большинстве случаев различия между ECMAScript от Microsoft и теми, что встречаются в другихбраузеры (или другие серверные среды) на самом деле не так хороши, и для обычного не-DOM-кода довольно редко приходится сталкиваться с такими вещами.