⊗jsPmFTLE 237 of 505 menu

JavaScriptにおける関数の左側の式

次のコードを考えてみましょう:

+function func() { console.log('!'); }

すでにご存知のように、この関数は名前が付けられているにもかかわらず (名前の有無は全く基準ではないことはすでに確認しました)、 関数式(Function Expression)です。 このプラス記号を取り除くと、関数宣言(Function Declaration)になります:

function func() { console.log('!'); }

関数の前の行にプラス記号+を配置してみましょう。 再び関数式(Function Expression)になります:

+ function func() { console.log('!'); }

今度はプラス記号の後に数字1とセミコロンを置くと、 この関数は関数宣言(Function Declaration)になります:

+1; function func() { console.log('!'); }

なぜこうなるのか:最初の行はセミコロンで終了する 一つの完全な命令だからです。したがって、この命令は 私たちの関数に全く影響を与えません。

実際にはセミコロンは削除できます。 結局のところ、JavaScriptではセミコロンは必須ではないからです。 関数は依然として関数宣言(Function Declaration)のままです:

+1 function func() { console.log('!'); }

しかし、1の後にもう一つプラス記号を付けると、 関数は関数式(Function Expression)になります:

+1+ function func() { console.log('!'); }

なぜこうなるのか:最初の行は不完全な式だからです。 プラス記号があり、その後には何もありません。 したがって、JavaScriptインタープリターは、 このプラス記号が次の行、つまり私たちの関数に 関係していると判断します。

最初の行に完全な式がある場合、 JavaScriptは自動的にセミコロンを挿入し、 その式は私たちの関数に全く影響を与えません。

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

- function func() { console.log('!'); }

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

-1; function func() { console.log('!'); }

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

-1 function func() { console.log('!'); }

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

1 function func() { console.log('!'); }

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

-1- function func() { console.log('!'); }
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否