Я використовую jQuery 1.7.1
Я тільки починаю використовувати тернарний оператор JavaScript для заміни простих операторів if / else. Я зробив це успішно в кількох місцях. Я був здивований, коли успішно змусив щось інше працювати, коли впевнений, що це не стане, але все-таки спробував.
Ось оригінальне твердження:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
if (IsChecked == true){
removeItem($this);
} else {
addItem($this);
}
}
Ось та сама функція за допомогою тернарного оператора:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
(IsChecked == true) ? removeItem($this) : addItem($this);
}
Я був здивований, тому що всі приклади, які я бачив, що використовуються, просто встановлювали змінні, як це:
x = (1 < 2) ? true : false;
Моє питання полягає в тому, чи є це "звичайним" використанням і чи буде воно працювати в більшості версій JavaScript? Де це не вдасться? Чи існують інші менш очевидні способи використання?
ОНОВЛЕННЯ - Дякуємо за пораду "реального світу" !!!
Я використовую це як свою функцію:
function updateItem() {
$this = $(this);
$this.hasClass("IsChecked") ? removeItem($this) : addItem($this);
}