⊗jsPmFTDTCh 236 of 505 menu

JavaScriptで関数のタイプを確認する方法

以下の課題では、提示された関数が 関数宣言(Function Declaration) または関数式(Function Expression)のどちらであるかを 判断する必要があります。

単純なケースでは、見た目で判断するのは 難しくありません。しかし、その判断が 正しいかどうかをどのように確認すればよいでしょうか? 関数宣言(Function Declaration)と関数式(Function Expression)の違いを 利用してください: 前者はその定義よりも前で呼び出すことができますが、 後者はできません。

例えば、次のような関数があるとします:

let test = function() { console.log('!'); }

この関数を定義よりも前に呼び出してみましょう:

test(); // コンソールにエラーが表示される場合は、関数式(Function Expression) let test = function() { console.log('!'); }

別の例です:

func(); // '!' と表示される場合は、関数宣言(Function Declaration) function func() { console.log('!'); }

関数の前にプラス記号を置いてみましょう:

func(); // コンソールにエラーが表示される場合は、関数式(Function Expression) +function func() { console.log('!'); }

上記の関数は関数式(Function Expression)であり、 いかなる変数にも代入されていないため、 名前 func ではアクセスできないので、 呼び出す方法はありません。

提示された関数が 関数宣言(Function Declaration)または関数式(Function Expression)のどちらであるかを 判断してください:

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

提示された関数が 関数宣言(Function Declaration)または関数式(Function Expression)のどちらであるかを 判断してください:

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

提示された関数が 関数宣言(Function Declaration)または関数式(Function Expression)のどちらであるかを 判断してください:

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

提示された関数が 関数宣言(Function Declaration)または関数式(Function Expression)のどちらであるかを 判断してください:

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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否