Estoy usando jQuery 1.7.1
Estoy empezando a usar el operador ternario de JavaScript para reemplazar declaraciones simples if / else. Lo he hecho con éxito en varios lugares. Me sorprendió cuando logré lograr que algo más funcionara cuando pensé que seguro que no lo haría, pero lo intenté de todos modos.
Aquí está la declaración original:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
if (IsChecked == true){
removeItem($this);
} else {
addItem($this);
}
}
Aquí está la misma función usando el operador ternario:
function updateItem() {
$this = $(this);
var IsChecked = $this.hasClass("IsChecked");
(IsChecked == true) ? removeItem($this) : addItem($this);
}
Me sorprendió porque todos los ejemplos que vi que se usaban simplemente configuraban variables como esta:
x = (1 < 2) ? true : false;
Mi pregunta es si este es un uso "normal" y si funcionará en la mayoría de las versiones de JavaScript. ¿Dónde fallará? ¿Hay otros usos menos obvios para él?
ACTUALIZACIÓN - ¡Gracias por el consejo del "mundo real"!
Estoy usando esto como mi función:
function updateItem() {
$this = $(this);
$this.hasClass("IsChecked") ? removeItem($this) : addItem($this);
}