-1

JavaScript でこれを行う方法はいくつかあります。

最も読みやすく柔軟なのは、おそらく次のとおりです。

if (a){
    //b
}
else {
    //c
}

割り当てでのみ*機能し、読みにくい他のものは次のとおりです。

var foo = 'c';
if (a){
    foo = 'b';
}

ただし、私の主な質問は、私が考えることができる最後の2つの方法についてです。

var foo = a ? b : c;

var foo = a && b || c;

この 2 つの表現に違いはありますか? 両方に欠けている読みやすさ以外。

*ただし、foo を関数に割り当てて、if ステートメントの後で実行することもできます。

4

4 に答える 4

3

IOW a、b、および c は、それ自体が単純な式です。この演算子は悪用されますが、状況によっては悪用されるべきではありません。

同様に、結果の foo をブール値以外のものとして使用する 2 番目の式は適切ではありません。ブール演算子を使用して非ブール値を返すのは、その動作が混乱を招くためです。ただし、ブール式としては妥当です。

于 2009-03-24T19:28:22.337 に答える