В този урок ще научите за условния / тройния оператор в JavaScript с помощта на примери.
Тройният оператор може да се използва за заместване на if… else
извлечение в определени ситуации. Преди да научите за троични оператори, не забравяйте да проверите JavaScript, ако … друго урок.
Какво е тернарен оператор?
Третичен оператор оценява условие и изпълнява блок код въз основа на условието.
Синтаксисът му е:
състояние? израз1: израз2
Троичният оператор оценява състоянието на теста.
- Ако условието е
true
, израз1 се изпълнява. - Ако условието е
false
, израз2 се изпълнява.
Троичният оператор приема три операнда, откъдето идва и името тройния оператор. Известен е и като условен оператор.
Нека напишем програма, за да определим дали студент е издържал или не е издържал на изпита въз основа на получените оценки.
Пример: Тернарен оператор на JavaScript
// program to check pass or fail let marks = prompt('Enter your marks :'); // check the condition let result = (marks>= 40) ? 'pass' : 'fail'; console.log(`You $(result) the exam.`);
Изход 1
Въведете вашите оценки: 78 Издържате изпита.
Да предположим, че потребителят въвежда 78 . След това marks>= 40
се проверява състоянието, което оценява на true
. Така че първият израз pass
се присвоява на променливата на резултата.
Изход 2
Въведете вашите оценки: 35 Не сте успели на изпита.
Да предположим, че употребата влиза в 35 . Тогава условието marks>= 40
оценява на false
. Така че вторият израз fail
се присвоява на променливата на резултата.
Използва се тернарен оператор, вместо ако … друго
В JavaScript може да се използва трикратен оператор, който да замени определени видове if… else
изрази. Например,
Можете да замените този код
// check the age to determine the eligibility to vote let age = 15; let result; if (age>= 18) ( result = "You are eligible to vote."; ) else ( result = "You are not eligible to vote yet."; ) console.log(result);
с
// ternary operator to check the eligibility to vote let age = 15; let result = (age>= 18) ? "You are eligible to vote." : "You are not eligible to vote yet"; console.log(result);
Резултатът от двете програми ще бъде еднакъв.
Изход
Все още нямате право да гласувате.
Вложени тройни оператори
Можете също така да вложите един тройния оператор като израз вътре в друг тройния оператор. Например,
// program to check if number is positive, negative or zero let a = 3; let result = (a>= 0) ? (a == 0 ? "zero" : "positive") : "negative"; console.log(`The number is $(result).`);
Изход
Числото е положително.
Забележка : Трябва да се опитате да избягвате вложени тройни оператори, когато е възможно, тъй като те правят кода ви трудно четим.