Saya menggunakan jQuery 1.7.1
Saya baru mulai menggunakan operator terner JavaScript untuk mengganti pernyataan if / else sederhana. Saya telah melakukannya dengan sukses di beberapa tempat. Saya terkejut ketika saya berhasil membuat sesuatu yang lain bekerja ketika saya pikir pasti itu tidak akan berhasil, tetapi saya tetap mencobanya.
Inilah pernyataan aslinya:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
if (IsChecked == true){
removeItem($this);
} else {
addItem($this);
}
}
Berikut fungsi yang sama menggunakan operator terner:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
(IsChecked == true) ? removeItem($this) : addItem($this);
}
Saya terkejut karena semua contoh yang saya lihat digunakan hanyalah mengatur variabel seperti ini:
x = (1 < 2) ? true : false;
Pertanyaan saya adalah apakah ini penggunaan "normal" dan akankah berfungsi di sebagian besar versi JavaScript? Dimana itu akan gagal? Apakah ada kegunaan lain yang kurang jelas untuk itu?
UPDATE - Terima kasih atas saran "dunia nyata" !!!
Saya menggunakan ini sebagai fungsi saya:
function updateItem() {
$this = $(this);
$this.hasClass("IsChecked") ? removeItem($this) : addItem($this);
}