Далее на странице...
Тернарный оператор может использоваться как сокращенная форма записи конструкции if-else.
Тернарный оператор - СИНТАКСИС - Три операнда
Тернарный или условный оператор - единственный оператор в JavaScript, который принимает три операнда: одно условие и 2 выражения
Тернарный оператор в JavaScript возвращает одно из выражений в зависимости от условия.
условие ? выражение1 : выражение2
Если условие - Истина, то выполняется выражение1
Если условие - Ложь, то выполняется выражение2
Рассмотрим такую ситуацию: нужно вывести приветствие «Добрый день» или «Добрый вечер» в зависимости от текущего часа.
<script type="text/javascript">
var now = new Date(); /* Объект Date */
var hi = "Good " + ((now.getHours() < 17) ? "day" : "evening"); /* Тернарный оператор */
document.write(hi);
</script>
В примере сначала создается новый объект Date и далее при помощи метода getHours возвращается текущий час. Далее составляется условие - тернарный оператор:
-
Если текущий час меньше 17 now.getHours()< 17 , то это Истина и выполняется выражение 1, следующее после знака вопроса ? , то есть "day" (в переводе день).
-
Если же текущий час больше 17, то это Ложь и выполняется выражение 2, следующее после знака двоеточие : , то есть "evening" (в переводе вечер).
Мы узнали, как работает тернарный условный оператор в JavaScript. Далее для сравнения реализуется эта же задача при помощи условия if-else.
Тернарный оператор - Альтернатива
Итак, тернарный оператор является альтернативой конструкции if-else и он нередко используется при составлении условий в javascript.
Для сравнения в примере ниже рассмотрим ту же ситуацию с приветствиями «Добрый день» и «Добрый вечер» только с операторами if и else, так как с ними приходится чаще работать.
<script type="text/javascript">
var now = new Date(); /* Объект Date */
if (now.getHours() < 17) /* Если текущий час меньше 17, то...*/
{time = "day"}
else /* Иначе.... */
{time = "evening"}
document.write("Good " + time);
</script>