W niniejszym materiale z języka JavaScript, opiszę Ci na czym polega operator trójargumentowy (zwany zamiennie "warunkowym"). Operator warunkowy w języku JavaScript nie jest ani straszny, ani obowiązkowy, aczkolwiek warto dowiedzieć się czym on jest, bo w pewnych sytuacjach może ładnie Ci skrócić kod do jednego wiersza 💥! Zapraszam do środka 🙂!
OPERATOR WARUNKOWY W JĘZYKU JAVASCRIPT WYGODNYM SKRÓTEM INSTRUKCJI "IF"
Ta część składni jest bardziej poboczna i jeżeli zależy Ci na zwiększeniu jakości kodu, to na pewno "zakumplujesz się" z operatorem warunkowym (ang. ternary operator) 👊. To jest zapis alternatywny do przypisywania jednej z dwóch wartości zależnie od spełnienia (bądź niespełnienia) warunku. Można rzec, jest to "zamiennik" przypisywania jednej z dwóch wartości "na piechotę" przy pomocy konstrukcji "if else".
Przykład kodu źródłowego
Oto sytuacja pasująca w 100% do użycia operatora warunkowego. Mamy przypadek, w którym chcemy przypisać zmiennej jedną z dwóch wartości uzależniając to od jakiegoś warunku. Możemy posłużyć się opisywaną wcześniej instrukcją warunkową 👇:
let x;
if([warunek]) {
x = A;
} else {
x = B;
}albo posłużyć się bardziej elegancką formą, czyli użyć operatora warunkowego 🔥:
let x = ([warunek]) ? A : B;Postać jest całkiem prosta do zrozumienia. Po operatorze przypisania, wstawiamy sobie warunek (choć nie jest to wymagane, polecam umieszczać w nawiasach okrągłych w celu podniesienia czytelności), a po nim wpisujemy dodatkowe elementy składni wg następującej kolejności:
- znak zapytania (?),
- wartość w przypadku prawdy (np. liczba),
- znak dwukropka (:),
- wartość w przypadku fałszu (np. liczba),
- średnik (;).
Tyle! W ten sposób skracasz swoje intencje do jednej linijki kodu 🤩.
Kiedy NIE można tego użyć?
Minus jest taki, że to nie działa na bloki kodu (dwie/więcej instrukcji pod rząd ℹ️) ⛔. Operator warunkowy w języku JavaScript ogranicza się do przypisania konkretnej wartości.
Jeżeli chciał(a)byś wykonać dla przykładu 2 instrukcje w ramach jednego warunku 👇:
let x;
if([warunek]) {
x = A;
// dodatkowe instrukcje
} else {
x = B;
}wtedy już musisz to sobie wyodrębnić tak 👇:
let conditionIsMet = [warunek];
let x = (conditionIsMet) ? A : B;
if(conditionIsMet) {
// dodatkowe instrukcje
}Dodatkowo, operator warunkowy nie przyjmuje wywołań funkcji w miejscu wartości 🚫. To może wyglądać na dotkliwe ograniczenie, jednak uwierz mi, że jak nabierzesz wprawy w dobrym "układaniu" kodu jak z klocków LEGO, uświadomisz sobie, że da się wszystko tak napisać, aby skorzystać z tego operatora i jednocześnie wykonać jakieś instrukcje kiedy trzeba 😊.
Operator warunkowy (trójargumentowy) to zapis pozwalający na przypisanie jednej z dwóch wartości w jednym wierszu kodu.
To wszystko z mojej strony 👍. Morał z tego taki: gdy masz przypisywanie jednej z dwóch wartości (czyli gdy warunek spełniony, to taka wartość, a gdy niespełniony, to inna), to przestaw się na operator warunkowy - dużo węższy kod 😄!