Перейти к основному содержимому

Тернарная операция «?»

Операция ? позволяет вычислить выражение в зависимости от условия. Она возвращает один из своих операндов (второй или третий) в зависимости от значения логического выражения, заданного первым операндом.

логическое-выражение ? выражение-истина : выражение-ложь

логическое-выражение

Логическое выражение, результат вычисления которого определяет результат операции:

  • если логическое-выражение = Истина, то результатом операции будет выражение-истина
  • если логическое-выражение = Ложь, то результатом операции будет выражение-ложь

выражение-истина

Выражение, которое будет результатом операции в случае, если логическое-выражение равно Истина

выражение-ложь

Выражение, которое будет результатом операции в случае, если логическое-выражение равно Истина

Операция работает следующим образом:

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

Используйте операцию ? тогда, когда нужно сделать бинарный выбор: или одно значение (либо выражение), или другое.

Пример

метод Скрипт()
пер Возраст = 10
пер ОписаниеДокумента = Возраст >= 14 ? "Нужен паспорт" : "Нужно свидетельство о рождении"
;