JavaScript operator izbora
Operator izbora je jedini ternani operator (ima tri operanda) u JavaScriptu. Samim tim, on je i najkompleksniji, što ipak ne znači da ga je teško razumeti.
Ovaj operator kao rezultat vraća jednu od dve vrednosti na osnovu zadate logičke vrednosti. To u stvari znači da se zadaje logički uslov i dva izraza. Ako je logički uslov zadovoljen, vrednost će biti vrednost prvog izraza, a u suprotnom vrednost drugog.
uslov ? izraz_tačno : izraz_netačno
x > 10 ? a : b | ako je x veće od 10 vrednost će biti a a u suprotnom b |
Naravno, uslov može biti bilo koji izraz koji vraća logičku vrednost (true ili false), ali i bilo koji drugi izraz. JavaScript će numeričku vrednost 0, prazan string, objekat null "shvatiti" kao false, a ostale vrednosti kao true.
Takođe, rezultujući izrazi mogu biti bilo kakvi izrazi, pozivi funkcija ili metoda, logički izrazi, pa čak i novi izraz sa operatorom izbora.
Operator izbora
Par primera korišćenja operatora izbora.
var x = 75;
var p1 = x < 100 ? "greska" : racun(x);
var p2 = (x>30) && (x<80) ? (x==50 ? 0 : x) : Math.floor(x * 3);