W tym samouczku dowiesz się o operatorze warunkowym / trójskładnikowym w JavaScript z pomocą przykładów.
Operator trójargumentowy może służyć do zastępowania if… else
instrukcji w określonych sytuacjach. Zanim nauczysz się operatorów trójskładnikowych, koniecznie zapoznaj się z samouczkiem JavaScript if… else.
Co to jest operator trójskładnikowy?
Operator trójskładnikowy ocenia warunek i wykonuje blok kodu na podstawie warunku.
Jego składnia to:
stan: schorzenie ? wyrażenie1: wyrażenie2
Operator trójskładnikowy ocenia warunek testu.
- Jeśli warunkiem jest
true
, wykonywane jest wyrażenie1 . - Jeśli warunkiem jest
false
, wykonywane jest wyrażenie2 .
Operator trójskładnikowy przyjmuje trzy operandy, stąd nazwa operator trójskładnikowy. Jest również znany jako operator warunkowy.
Napiszmy program, który na podstawie uzyskanych ocen określi, czy student zdał egzamin, czy nie.
Przykład: operator trójargumentowy 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.`);
Wyjście 1
Wpisz swoje oceny: 78 Zdajesz egzamin.
Załóżmy, że użytkownik wprowadzi 78 . Następnie marks>= 40
sprawdzany jest warunek, którego wynikiem jest true
. Zatem pierwsze wyrażenie pass
jest przypisane do zmiennej wynikowej.
Wyjście 2
Wpisz swoje oceny: 35 Nie zdałeś egzaminu.
Załóżmy, że użycie wejdzie w 35 . Następnie warunek przyjmuje marks>= 40
wartość false
. Zatem drugie wyrażenie fail
jest przypisane do zmiennej wynikowej.
Używany operator trójskładnikowy Zamiast if… else
W JavaScript do zastąpienia niektórych typów if… else
instrukcji można użyć operatora trójskładnikowego . Na przykład,
Możesz zastąpić ten kod
// 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);
z
// 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);
Dane wyjściowe obu programów będą takie same.
Wynik
Nie masz jeszcze uprawnień do głosowania.
Zagnieżdżone operatory trójskładnikowe
Możesz również zagnieździć jeden operator trójskładnikowy jako wyrażenie wewnątrz innego operatora trójskładnikowego. Na przykład,
// 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).`);
Wynik
Liczba jest dodatnia.
Uwaga : w miarę możliwości należy unikać zagnieżdżonych operatorów trójskładnikowych, ponieważ utrudniają one odczytanie kodu.