は、以下行いますこれはどういう意味ですか?:x || X === {}
x || x === {}
!!x
を意味しない、つまり、x
が定義されていますか?比較はx
がtruthyで、その後、あなたがx
、またはfalsyの結果を得るのいずれかのために、あなたは(falsy値は空のオブジェクトインスタンスと等しい厳格なことはありません)false
を取得し、意味をなさないこと
は、以下行いますこれはどういう意味ですか?:x || X === {}
x || x === {}
!!x
を意味しない、つまり、x
が定義されていますか?比較はx
がtruthyで、その後、あなたがx
、またはfalsyの結果を得るのいずれかのために、あなたは(falsy値は空のオブジェクトインスタンスと等しい厳格なことはありません)false
を取得し、意味をなさないこと
。
簡潔なバージョンは私x
またはfalse
を与えるため
x || false
だろう。
xは{}との参照として比較されるため、右側にfalseが表示されます。 @ Tomasz Lewowskiはそれもあまりにも下に指定しました。 –
@RazvanDumitruこれは、彼女が 'false'を書いた理由です。 –
もちろん、初心者にとっては最終結果に直接行くのが曖昧です。 –
||
は、LHSが真の値であれば左手側を返します。したがって、x
が真の値の場合は、x
を返します。
それ以外の場合は、x
と新しいオブジェクト(常にfalse
)を比較し、それを返します。
したがって、x
が真の場合は、x
が得られます。そうでない場合は、明示的なブール値false
が得られます。
!!x
とは異なります。x
が真の値だった場合は、ブール値true
を返します。
x || x === {}
は、基本的には、x || false
を意味します。
!!x
は "truthy x
である" を意味し、それはまったく同じではありません - x
がtruthyある場合x || x === {}
はx
を返します。 同じ場合、!!x
はtrue
を返します。 「左サイドがtruthyであれば(ないundefined
、ない0
など、ないnull
- 詳細についてはAll falsey values in JavaScriptを参照)右サイドを返す左側を返し、それ以外の」
||
オペレータが意味しています。厳密な比較は(すなわち、「真なることはありませんこれは、x
{}
と同じオブジェクトである)
!!x
とx || x === {}
を参照ワイズます比較意味するので、常に、false
に評価され、あなたがx === {}
を持って右側で
これはビットを助けるかもしれないだけx === true
又はx === false
場合に同じである....のhttp://stackoverflow.com/questions/3563153/what-does-var-xx – BobSki
'truthyある} {'ので、私はドン上記のコードのポイントを参照してください... –
それはダップではありませんe、比較のために。 –