検索

ホームページ  >  に質問  >  本文

javascript - !function foo(){} が false を返し、!function foo(){}() が true を返すのはなぜですか?

前述のとおり、ありがとうございます!

女神的闺蜜爱上我女神的闺蜜爱上我2813日前806

全員に返信(2)返信します

  • 淡淡烟草味

    淡淡烟草味2017-06-30 10:00:06

    js で false と判断されるのは次のとおりです:

    • 0

    • ナン

    • ヌル

    • 未定義

    したがって:

    リーリー リーリー

    返事
    0
  • 高洛峰

    高洛峰2017-06-30 10:00:06

    あなたの質問は、!(function foo(){}) returns false、!(function foo(){})() returns true?に変更できると思います。
    コード関数 foo(){}() は Uncaught を返すためです。実行時 SyntaxError: 予期しないトークン エラー。

    前者は空でない文字列を否定するもので、空でない文字列のブール値は否定後は当然 false になります。
    後者は自己実行関数の戻り値を否定します。値が未定義であり、ブール値に変換された場合は false、その否定は true です。

    上記は個人的な意見ですので、議論を歓迎します。ありがとう!

    返事
    0
  • キャンセル返事