Ini adalah apa yang biasa Anda lakukan ketika membuat peraturan kondisi di dalam JavaScript:
if (a) {
b = 1;
c = 0;
} else {
b = 0;
c = 1;
}
Andaikan keputusan yang dibuat berjumlah lebih dari satu buah (lebih dari satu baris kode) untuk setiap kondisi, mungkin itu masih bisa dikatakan wajar. Namun ketika situasi terkondisi yang diciptakan hanya terdiri dari satu baris kode saja, menerapkan kondisional dengan cara seperti di atas sangat tidak efisien. Contoh sederhana adalah ketika Anda menentukan nilai suatu variabel berdasarkan kondisi tertentu seperti ini:
if (a == "foo") {
var b = 1;
} else {
var b = 0;
}
Jalan pintas untuk kondisional di atas adalah seperti ini:
var b = (a == "foo") ? 1 : 0;
Nilai di antara simbol ?
dan :
menyatakan nilai variabel b
jika a == "foo"
, sedangkan nilai yang tertulis setelah simbol :
adalah alternatif/pengingkarannya. Contoh kondisional yang lebih panjang:
Sebelum
if (a == "foo") {
var b = 1;
} else if (a == "bar") {
var b = 0;
} else {
var b = null;
}
Sesudah
var b = (a == "foo") ? 1 : (a == "bar") ? 0 : null;