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