jQuery1.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);
}