関数式


一級オブジェクト
Javascriptで特別な待遇を受けたものを일급 객체と呼び、そのうちの1つは함수です.
JavaScriptでは、関数
  • 変数に割り当てることができます.
  • は、他の関数のパラメータとして渡すことができる.
  • は、他の関数の結果を返すことができる.
  • このように特別に扱われる.
    これは、データを処理するように関数を処理したり、変数に格納したりして、配列内の要素やオブジェクトの属性値として格納したりすることができることを意味します.
    関数式
    関数宣言
    一般的なプログラミング言語での関数宣言と同様の形式
    function example() {
      return 'this is test function'
    }
    example() // 'this is test function'
    関数式
    柔軟なJavaScript言語フィーチャーによる宣言
    let example = function() {
        return 'this is test function'
      }
    example() // 'this is test function'
    関数宣言式と関数宣言式の違い함수 선언식号のボート漕ぎの影響を受けた.함수 표현식号の影響を受けません.
    関数宣言式は、コード実装の位置を考慮するのではなく、javascriptの特徴hoistingに基づいて、ブラウザがjavascriptを解析するときに位置が向上します.
    logMessage();
    sumNumbers();
    
    function logMessage() {
         return 'worked';
         }
    
    var sumNumbers = function () {
         return 10 + 20;
         }
    たとえば、上記のコードを実行すると、Hostingは次のように認識します.
    function logMessage() {
          return 'worked';
          }
    
    var sumNumbers;
    
    logMessage(); // 'worked'
    sumNumbers(); // Uncaught TypeError: sumNumbers is not a function
    
    sumNumbers = function () {
          return 10 + 20;
          }
    関数式で記述されたsumNumbersからvarにかけて、位置が向上していることがわかります.
    ただし、宣言はアップグレードされ、割り当ては呼び出し後に割り当てられるため、sumNumbersは関数ではなく変数と見なします.
    コードのクロストークについてまだ完全に理解していない場合でも、コードの上部でできるだけ関数や変数を宣言する習慣を身につけると、クロストークによるコードエラーを防ぐことができます.