Логотип Валидатор Валидатор Качество создания сайта

Тернарные операторы

Что такое тернарный оператор

Тернарным оператором в JavaScript называется символ - ? (вопрос). Такое название он получил от латинского "ternarius" - тройной.

И это вовсе не случайно, т.к. он единственный из операторов JavaScript, имеющий целых 3 аргумента: условие - сравнение1 - сравнение2. А у обычных операторов аргументов всего 1 или 2.   Вот поэтому он и называется: "тернарный оператор".

Тернарной условной операцией называют использование двух символов - ?  и  : (вопрос и двоеточие).
Символ двоеточия : в JavaScript называется "оператором сравнения", т.к. он ставится после условия, между двумя аргументами, один из которых будет выбран в качестве значения переменной, если он соответствует условию, конечно.

Это альтернатива конструкции if - else

Важно! Важно!  Тернарный оператор работает только в паре, т.е. поставив оператор ?, нужно обязательно(!) использовать и оператор :. Иначе скрипт работать НЕ будет!


Виды операторов в JavaScript

Есть 3 вида операторов: "унарный", "бинарный" и "тернарный".
О последнем из них уже написал выше, а здесь же - даю справку, какие операторы являются "унарными" и "бинарными".

И прежде всего, нужно помнить(!), что один и тот же оператор может быть разным в разных выражениях.

Легче всего это понять на примере.
Символ "минус" - в числе -5 является "унарным оператором", поскольку действует только на один "операнд", меняя его значение.
И тот же символ "минус" в выражении 5 - 2 = 3 является "бинарным", т.к. взаимодействует уже с 2-умя "операндами": 5 и 2

Prim*  "Оператором" называется символ, совершающий какую-то операцию, а "операндом" называется то, НАД ЧЕМ совершается операция.


Одиночный тернарный оператор

Позволяет выбрать одно из двух действий.

**Принцип!

if (x > 0){a = b;}
else {a = c;}
document.write(a);

Гораздо проще эту скриптовую команду можно записать так:
a = (x > 0) ? b : c;
document.write(a);


Проба скрипта

Переменной "x" дал значение -6, и раз "x" меньше 0, то скрипт присваивает переменной "a", и выводит значение 2-ой переменной после : (двоеточия), а НЕ 1-ой, т.е. в выделенной области он покажет значение переменной "с", а именно: 12.

В тестовой области, выделенной серым, видно, что код тернарного оператора сработал правильно!


Тернарный оператор в PHP

Аналогичный скрипт в серверном языке PHP записывается так:
<?php
$a = ($b > 10) ? 9 : 11;
echo $a;
?>

**Другими словами:   Если переменная "b" больше "10", то php-интерпретатор присвоит переменной "а" первое значение, если же "b" меньше "10", то присвоит второе.



Использование тернарных операторов

На одной веб-странице можно использовать НЕ один, а много, сколько угодно тернарных операторов.
Для этого нужно прописать в коде логическую цепочку условных тернарных операций.

НЕ ЗАБЫВАТЬ!  Давать РАЗНЫЕ ИМЕНА ПЕРЕМЕННЫМ в разных ПРИМЕРАХ!
(если нужно на одной странице задействовать сразу несколько примеров использования тернарных операторов).

Иначе скрипт честно пойдёт выполнять уже выполненный код "по кругу", т.е. снова будет выполнять те же операции.


Цепочечные тернарные операции

Использование цепочки тернарных операторов я показал на специально сделанной для этого смежной странице: Использование тернарных операторов

Алгоритм кода с цепочкой тернарных операторов написал там же.

А чтобы полноценно испытать на указанной странице действие цепочечной тернарной операции, лучше сначала посмотреть краткое описание "контрольных точек", какие я установил при написании скрипта.

Всплывающее окно будет задавать вопрос о возрасте. В зависимости от введённых значений возраста (цифр), скрипт будет выводить РАЗНЫЕ варианты ответов.

Контрольные точки цепочечной тернарной операции

Прописал следующие значения для возможных ответов веб-страницы на введённые значения (цифры) в поле всплывающего опросного окна:

  1. Если ввести нереальный возраст: "0" или меньше "0".
  2. Если указать свой возраст: "5" или меньше "5" лет.
  3. Если ввести свой возраст: от "6" и до "10" лет.
  4. Если указать возраст: от "11" и вплоть до "69" лет.
  5. Если вписать почтенный возраст: от "70" и до "89" лет.
  6. Если указать преклонный возраст: от "90" и до "100" лет.
  7. Если ввести любой нереальный возраст: больше "100" лет.

Если же ничего не ввести, то скрипт "обидится", наверное, и ответит, что человек ещё и не родился вовсе.   Хотя страницу всё же покажет ... ... .

* * *

Во время "диалога" с сайтом эта страница побледнеет ("затуманится"), либо исчезнет, а после завершения работы javascript-кода, откроется страница с описанием алгоритма скрипта цепочечных тернарных операторов.



Нижний мини-навигатор позволит либо вернуться в общий раздел JavaScript, либо перейти к странице использования тернарных операторов.


Назад в JavaScript Куда? Использование тернарных операторов

ВВЕРХ

Все права защищены. Copyright © 2009 - Коротеев Владимир.

Яндекс.Метрика