関数式の前にあるJavaScriptのプラス記号 質問する

関数式の前にあるJavaScriptのプラス記号 質問する

即時に呼び出される関数に関する情報を探していたところ、偶然この表記を見つけました。

+function(){console.log("Something.")}()

+関数の前の記号が何を意味するのか、何をするのかを誰か説明してもらえますか?

ベストアンサー1

パーサーに、 に続く部分を+式として扱うように強制します。これは通常、すぐに呼び出される関数に使用されます。例:

+function() { console.log("Foo!"); }();

thereがない+場合、パーサーが文 (式または複数の非式文) を期待している状態にある場合、単語は関数ではなく関数宣言functionの始まりのように見えるため、それに続くもの (上記の行の末尾のもの) は構文エラーになります (この例では、名前がない場合も同様です)。を使用すると、関数式になり、名前はオプションであり、結果として関数への参照が生成され、呼び出すことができるため、括弧は有効になります。()+

+はオプションの 1 つにすぎません。-!~、または他の単項演算子も使用できます。代わりに、括弧を使用することもできます (これはより一般的ですが、構文的にはそれほど正確ではありません)。

(function() { console.log("Foo!"); })();
// or
(function() { console.log("Foo!"); }());

おすすめ記事