Wyobraźmy sobie, że moglibyśmy zoptymalizować / zminimalizować instrukcję if. Co moglibyśmy zrobić?
W przypadku gdy mamy instrukcję if...else jak:
if (condition) {
// zrób coś jeśli warunek jest prawdziwy
}
else {
// zrób coś innego jeśli warunek nie jest prawdziwy
}
możemy zmienić to na wyrażenie trójargumentowe (ternary)
condition ? /* zrób coś jeśli warunek jest prawdziwy */ : /* zrób coś jeśli warunek nie jest prawdziwy */;
Sprawdźmy jak to działa z funkcjami:
const actionOne = () => console.log('actionOne');
const actionTwo = () => console.log('actionTwo');
true ? actionOne() : actionTwo(); // actionOne
false ? actionOne() : actionTwo(); // actionTwo
I jak używać tego z bardziej złożonymi funkcjami:
const multiply = (a) => a*a;
const add = (a) => a+a;
const variable = 4;
let newVar;
newVar = true ? multiply(variable) : add(variable);
console.log(newVar) // 16
newVar = false ? multiply(variable) : add(variable);
console.log(newVar) // 8
Jak widać, operator trójargumentowy może być przydatny, gdy chcesz wykonywać operacje if w jednej linii.





