JavaScript 関数呼び出しで括弧が重要になるのはどのような場合ですか?

Linda Hamilton
リリース: 2024-11-25 14:56:11
オリジナル
269 人が閲覧しました

When Do Parentheses Matter in JavaScript Function Calls?

関数宣言のかっこと呼び出し

JavaScript では、関数宣言と呼び出しの区別は構文に現れます。関数宣言は中括弧で終わりますが、関数呼び出しは括弧で終わります。

次の例を考えてみましょう。

var myFunction = function() {
  setTimeout(myFunction, 1000);
}
myFunction();
ログイン後にコピー

ここで、setTimeout 関数は引数として関数参照を想定しています。 myFunction を記述するときは、関数自体を参照することになります。対照的に、myFunction() は実際に関数を呼び出します。

これは簡単そうに見えますが、例外があります。 setTimeout は、次のコードのように、関数を返す関数も受け入れることができます。

function myFunction() {
  return function() {
    alert("ohai");
  }
}

// or

const myFunction = () => () => alert("ohai");
ログイン後にコピー

このシナリオでは、setTimeout(myFunction(), 1000) は次のようになります。

  1. myFunction 関数を呼び出し、その戻り値を保存します。
  2. myFunction が指定する関数を取得します。

これにより、効果的にアラートが毎秒表示されるようにスケジュールされます。

したがって、重要な違いは、括弧を省略すると関数オブジェクト自体を参照することです。かっこを含めると、関数が呼び出されます。これは、var myFunction = function() { ... } などの関数宣言、および const myFunction = () => などの関数式に適用されます。 { ... }.

以上がJavaScript 関数呼び出しで括弧が重要になるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート