Ini adalah singkatan satu baris untuk pernyataan if-else. Ini disebut operator kondisional. 1
Berikut adalah contoh kode yang dapat disingkat dengan operator bersyarat:
var userType;
if (userIsYoungerThan18) {
userType = "Minor";
} else {
userType = "Adult";
}
if (userIsYoungerThan21) {
serveDrink("Grape Juice");
} else {
serveDrink("Wine");
}
Ini dapat disingkat dengan ?:
seperti ini:
var userType = userIsYoungerThan18 ? "Minor" : "Adult";
serveDrink(userIsYoungerThan21 ? "Grape Juice" : "Wine");
Seperti semua ekspresi, operator kondisional juga dapat digunakan sebagai pernyataan mandiri dengan efek samping, meskipun ini tidak biasa di luar minifikasi:
userIsYoungerThan21 ? serveGrapeJuice() : serveWine();
Mereka bahkan dapat dirantai:
serveDrink(userIsYoungerThan4 ? 'Milk' : userIsYoungerThan21 ? 'Grape Juice' : 'Wine');
Namun, berhati-hatilah, karena Anda akan berakhir dengan kode berbelit-belit seperti ini:
var k = a ? (b ? (c ? d : e) : (d ? e : f)) : f ? (g ? h : i) : j;
1 Sering disebut "operator terner," namun pada kenyataannya itu hanya sebuah operator ternary [operator menerima tiga operan]. Hanya itu yang dimiliki JavaScript saat ini.