Условный оператор в JavaScript предоставляет однострочный подход для создания простого условного оператора. Он часто используется как сокращенный метод для оператора if-else. Это делает код намного проще, короче и читабельнее.
Условный оператор (?:) также известен как троичный оператор, потому что он принимает три операнда и выполняет условный тест.
Основной синтаксис для использования условного оператора в программе JavaScript следующий:
conditional_expression? Value1: Value2
Or,
variable = conditional_expression? Value1: Value2
В приведенном выше синтаксисе conditional_expression — это логическое выражение, которое выдает логическое значение (либо true, либо false).
Если conditonal_expression принимает значение true, значение conditonal_expression становится Value1. Если conditional_expression принимает значение false, значение conditional_expression становится Value2.
Давайте разберемся в концепции условного оператора (?:) с помощью различных примеров.
1. Рассмотрим следующее утверждение ниже:
var a = (x > y)? 4: 5
Если «x» больше, чем «y», значение переменной a будет равно 4, в противном случае значение переменной a будет равно 5.
Другими простыми словами, если «x» больше, чем «y», переменной a присваивается 4, в противном случае переменной a присваивается 5. Посмотрите на рисунок ниже, чтобы понять более четко.
Оператор if-else вместо приведенного выше условного оператора выглядит следующим образом:
if(x > y) {
a = 4;
}
else {
a = 5;
}
2. Рассмотрим другой пример ниже:
p? q: r
Этот оператор утверждает, что если p принимает значение true, значение выражения становится q, в противном случае значение выражения становится false.
3.
variable = conditional_expression? expression1: expression2
Этот оператор утверждает, что если conditional_expression возвращает true, выполняется expression1, в противном случае выполняется expression2 и конечный результат сохраняется в переменной.
4. Давайте возьмем другой пример:
document.write(studentGrade >= 40? "Passed": "Failed");
Этот оператор содержит условное выражение, которое преобразуется в строку «Передано», если условие StudentGrade >= 40 истинно. Если условное выражение StudentGrade >= 40 равно false, оно вычисляет строку «Failed».
Примеры условных (троичных) операторов JavaScript
Давайте создадим программу на JavaScript, в которой мы определим наибольшее число между двумя числами, используя условный или троичный оператор в JavaScript.
Пример 1:
<script>
let x = 20, y = 40;
let z = (x > y)? 20: 40;
document.write("Greater number: " +z);
</script>
Вывод: Большее число: 40
В предыдущем примере программы переменная x инициализируется значением 20, а y — значением 40. Условная переменная z хранит значение, возвращаемое условным выражением.
В условном выражении значение x не больше y, переменной z присваивается значение после:. Если значение x больше, чем y, значение после? присваивается переменной z.
Давайте создадим программу на JavaScript, в которой мы будем проверять, имеет человек право голоса или нет.
Пример 2:
<script>
let age = prompt("How old are you?");
let eligible = (age >= 18)? "You are eligible to vote.": "You are not eligible to vote.";
alert(eligible);
</script>
Когда вы запустите эту программу, на экране появится окно запроса, в котором вам нужно будет ввести свой возраст. Возраст, который вы введете, будет сохранен в переменной age.
Например, в поле запроса вводится возраст 18 лет. Это значение присваивается переменной age в программе, как показано на рисунке ниже.
Поскольку введенное значение 18 равно допустимому возрасту 18 лет, строковое значение справа от? присваивается переменной «Допустимый». Диалоговое окно предупреждения отображает на экране следующий результат.
Вывод: Вы не имеете права голоса.
Давайте создадим программу на JavaScript, использующую условный оператор, чтобы проверить, является ли год високосным или нет.
Пример 3:
<script>
let total = 0;
let yearCheck = prompt("Enter a year:");
let check4 = yearCheck % 4 == 0? 1: 0;
let check100 = yearCheck % 100 == 0? -1: 0;
let check400 = yearCheck % 400 == 0? 1: 0;
let total = check4+check100+check400;
alert(total == 1? "Leap year": "Not leap year");
</script>
Вывод: Введите год: 2000 Високосный год
В приведенном выше примере программы мы использовали следующий алгоритм для проверки високосного года. Они следующие:
1. Если введенный год делится на 4, прибавьте 1. 2. Если введенный год делится на 100, вычтите 1. 3. Если введенный год делится на 400, прибавьте 1. 4. Если сумма равна 1, год является високосным, в противном случае это не високосный год.
Общее правило проверки високосного года заключается в том, что если год делится на 4, и он не делится на 100, если только он также не делится на 400.
Например, 1900 и 2100 годы делятся на 100, но не делятся на 400. Следовательно, они не являются високосными годами. Однако 2000 год является високосным годом.
В этом руководстве вы узнали о условном (троичном) операторе в JavaScript на примерах различных программ. Надеюсь, что вы поняли все основные моменты, связанные с троичным оператором, и как использовать его в программе. В следующем руководстве мы изучим побитовые операторы в JavaScript на примерах программ. Спасибо за чтение!!!