ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 関数式の感嘆符 (!) は何をしますか?

JavaScript 関数式の感嘆符 (!) は何をしますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-27 06:54:09685ブラウズ

What Does the Exclamation Mark (!) Do in a JavaScript Function Expression?

関数式における感嘆符の目的を明らかにする

JavaScript でコードを実行するときに、前に感嘆符 (!) が出現します。関数によっていくつかの疑問が生じる場合があります。その機能と構文におけるその役割を詳しく見てみましょう。

JavaScript の構文では、「function foo() {}」の形式で宣言された関数は関数宣言であり、実行するには呼び出しが必要であると規定されています。ただし、感嘆符 (!) を使用して関数宣言を前処理すると、関数宣言が関数式に変換され、括弧を続けて関数をすぐに呼び出すことができます。

コード "!function foo() {}() " は関数を宣言すると同時に実行するため、最初は冗長に見えるかもしれません。ただし、ここで感嘆符は 2 つの目的を果たします:

  • 式への変換: 関数宣言を関数式に変換します。
  • 暗黙的呼び出し: 括弧が後に続く場合、感嘆符は関数を呼び出し、明示的な宣言の必要がなくなります。 invocation.

これは本質的に構文上のトリックですが、この手法により、即時に呼び出される関数式 (IIFE) の構文を簡潔にすることができます。コードのより明示的な形式は次のようになります: "(function(){})();"

最後に、感嘆符も関数の戻り値を評価し、それをブール値に強制します。 IIFE は通常、明示的に値を返さないため、感嘆符によって true に強制される unfineed を返します。このブール値の結果は通常は使用されません。

以上がJavaScript 関数式の感嘆符 (!) は何をしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。