Я использую 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);
}