Как оценивается тернарный оператор в JavaScript?

Что касается троичного (? :) оператора в JavaScript, я хотел бы знать, как он оценивается типичным интерпретатором JavaScript браузера:

Альтернатива A:

  1. Оценить первый операнд.
  2. Если результат первого операнда истинен, то оцените и верните второй операнд.
  3. Иначе, оцените и верните третий операнд.

Альтернатива B:

  1. Оцениваются все три операнда.
  2. Если результат первого операнда истинен, верните результат второго операнда.
  3. В противном случае возвращается результат третьего операнда.

Альтернатива C:

Конечно, если ни альтернатива A, ни альтернатива B не описывают точно, как работает троичный оператор, пожалуйста, объясните мне, как он работает.

13
задан pyon 23 February 2011 в 21:24
поделиться