[解決済み】関数の前のエクスクラメーションマークは何をするのですか?
2022-03-23 20:39:04
質問
!function () {}();
解決方法は?
JavaScriptの構文101:ここでは 関数宣言 :
function foo() {}
セミコロンがないことに注意してください。
宣言
. 呼び出しが必要でしょう。
foo()
実際に関数を実行するためです。
さて、一見何の変哲もないエクスクラメーションマークをつけると。
!function foo() {}
に変換されます。
表現
. これは、現在では
関数式
.
は
!
だけではもちろん関数を呼び出すことはできませんが、これで
()
を末尾につける。
!function foo() {}()
よりも高い優先度を持ちます。
!
で、即座にその関数を呼び出します。
function foo() {}()
は構文エラーになります。なぜなら、引数 (
()
のように、関数宣言の直後で
つまり、作者がやっているのは、関数式ごとに1バイトを保存することです。もっと読みやすい書き方は、次のようになります。
(function(){})();
最後に
!
は、関数の戻り値に基づいてブール値を返す式にします。通常、即時呼び出し型関数式(IIFE)は明示的に何も返さないので、その戻り値は
undefined
となり、その結果
!undefined
というのは
true
. このブール値は使用されません。
関連
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] JavaScriptの変数のスコープとは何ですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み】JavaScript版sleep()とは?)
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】SecurityError: オリジンを持つフレームがクロスオリジンフレームにアクセスするのをブロックした
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント