レガシースクリプトがあります。これはその一部です:
var e = e ? e : event;
だから、ここでは何も悪いことはありません。しかし、私は主にtooglingのためにternaryを使用します。このように安全に書き直せますか
var e = e || event;
これを使わない理由はありますか?
レガシースクリプトがあります。これはその一部です:
var e = e ? e : event;
だから、ここでは何も悪いことはありません。しかし、私は主にtooglingのためにternaryを使用します。このように安全に書き直せますか
var e = e || event;
これを使わない理由はありますか?
あなたの例では、それがのような偽の値でe
ない場合に使用されます。それ以外の場合は使用されます。あなたの場合、これは保存する必要があります。false, 0, "", null, undefined
event
ただし、if-then-else(または3値)の代わりに、より複雑な論理式を使用することには危険が伴います。次に例を示します。
result = value > 10 && getA() || getB()
ガード がANDとvalue > 10
評価して偽の値を返す場合、が返されます。これは、の偽の結果を返すif-then-elseの動作とは異なります。true
getA()
getB()
getA()
2番目のオプションには注意が必要です。基本的に、「e」がfalse以外の場合は、ローカルの「e」に割り当てられます。それ以外の場合は、「event」を使用しますが、たとえば、 、「e」は「0」です。ローカルの「e」に何を持たせますか?「0」または「イベント」?あなたの場合、あなたのローカルの「e」はとにかく「event」で終わるからです。