1

私が見ているファイル||で、javascript関数呼び出しのステートメントを見ました。それはどういう意味ですか?

createObject(a_variable || b_variable)

関数はtrue/false値を取りますか、それとも何か他のものを取りますか?

上記のコードは

createanotherObject(a_variable ? a_variable : b_variable)

そのすぐ隣で見ました。

4

4 に答える 4

4

はい。どちらもほぼ同じことを行います(最初の方がわずかに効率的です)。最初の真の値(または最後の値-真の値がない場合)を渡します。

あなたのコードはこれと同等です:

var argument = a_variable;

if ( ! argument ) argument = b_variable;

createObject( argument );
于 2013-02-06T20:06:20.243 に答える
1

a_variableifがtrueの値をa_variable渡し、それ以外の場合は。の値を渡しますb_variable

var a = false, b = "FOOBAR";
console.log(a || b); // FOOBAR
于 2013-02-06T20:07:27.937 に答える
1

はい、同じです。これは短絡演算子です。つまり、最初の変数が真の場合、2番目の変数は評価されません。まるで

a = b || c;

if b is truthy
  a = b
else
  a = c

注:人々は忘れますが、0も偽の値です。

于 2013-02-06T20:07:35.393 に答える
0

これは、2番目の例と同等です。|| (または)条件の1つが「真の」値に評価されると、条件は終了します。a_variableがnullの場合、b_variableを使用します。

于 2013-02-06T20:07:30.320 に答える