「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript 関数式の感嘆符 (!) は何をしますか?

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

2024 年 12 月 26 日に公開
ブラウズ:552

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

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

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

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

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

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

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

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

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3