私が見ているファイル||
で、javascript関数呼び出しのステートメントを見ました。それはどういう意味ですか?
createObject(a_variable || b_variable)
関数はtrue/false値を取りますか、それとも何か他のものを取りますか?
上記のコードは
createanotherObject(a_variable ? a_variable : b_variable)
そのすぐ隣で見ました。
私が見ているファイル||
で、javascript関数呼び出しのステートメントを見ました。それはどういう意味ですか?
createObject(a_variable || b_variable)
関数はtrue/false値を取りますか、それとも何か他のものを取りますか?
上記のコードは
createanotherObject(a_variable ? a_variable : b_variable)
そのすぐ隣で見ました。
はい。どちらもほぼ同じことを行います(最初の方がわずかに効率的です)。最初の真の値(または最後の値-真の値がない場合)を渡します。
あなたのコードはこれと同等です:
var argument = a_variable;
if ( ! argument ) argument = b_variable;
createObject( argument );
a_variable
ifがtrueの値をa_variable
渡し、それ以外の場合は。の値を渡しますb_variable
。
var a = false, b = "FOOBAR";
console.log(a || b); // FOOBAR
はい、同じです。これは短絡演算子です。つまり、最初の変数が真の場合、2番目の変数は評価されません。まるで
a = b || c;
if b is truthy
a = b
else
a = c
注:人々は忘れますが、0も偽の値です。
これは、2番目の例と同等です。|| (または)条件の1つが「真の」値に評価されると、条件は終了します。a_variableがnullの場合、b_variableを使用します。