n.関数


関数とは?


数学の関数は入力(input)と出力(output)を指す.
プログラミング言語の関数は、一連のプロセスを「ゲート」として実装し、コードブロックで囲まれて実行ユニットとして定義することです.

関数を使用する理由

  • コード
  • を繰り返し使用
  • メンテナンスの利便性を向上.
  • コードの読み取り可能性を向上させます.
  • 関数の形状


    1.関数宣言

    function 식별자 ( 매개변수 ) {
        함수 body
        return 반환값;
    }
    
    const a = 식별자 ( 10, 20, "hello" );
    ---------------------------------------
    // 예시
    
    function add ( x, y ) {
       return x + y;
    }
    
    add ( 2, 5 );
    
    パラメータ(parameter)とは、入力を関数内部に渡す変数です.
    パラメータとして入力し、戻り値として出力します.

    2.矢印関数


    矢印関数(arrowfunction)は、functionキーワードの代わりに矢印=>を使用して、関数をより簡略化して宣言できます.
    // 화살표 함수 한줄짜리
    const add = ( x, y ) => x + y;
    console.log(add(2,5)); // 7
    
    // 변수 선언과 함께 함수표시
    const bar = (매개변수1, 매개변수2) => {
      함수 body
    };
    
    矢印関数は、既存の関数に比べて表示が簡略化されるだけでなく、内部動作も簡略化されるため、既存の関数を完全に置き換えることはありません.

    3.匿名関数


    匿名関数は、関数名ではなく変数名に関数コードを格納する実装である.匿名関数のソースコードは変数値であるため、末尾はセミコロンである.代入匿名関数は、呼び出し時に変数名を関数名として使用できます.
    
    var 변수명 = function( 매개변수 )
      {
        실행문;
      };
    
     // 익명 함수 선언 및 변수에 대입
      var hello = function( ) {
        document.write("Hello World!");
      };
    
    //익명 함수 변수명으로 호출
    hello(); // Hello World!

    4.即時実行関数


    名前は必要ありません.すぐに実行するときに使用する必要があります.
    関数を定義するときにすぐに呼び出される関数をインスタント実行関数と呼びます.
    一度しか呼んでいないので、もう呼んではいけません.
    (function(){
      console.log('즉시실행');
    });

    5.コールバック関数


    コールバック関数は、パラメータ伝達関数によって、関数内部で実行される関数です.
    //パラメータ値が関数の場合
    const add = (numbers) => {
      let result = 0;
    
      for (let i = 0; i < numbers.length; i++) {
        result += numbers[i];
      }
    
      return result;
    };
    
    const calculate = (cb, numbers, operateType) => {
      if (operateType === "add") {
        const result = cb(numbers);
        return result;
      }
    
      if (operateType === "multiple") {
        return "multiple";
      }
    
      return "Wrong operate result.";
    };
    
    const getOperator = () => {
      return "add";
    };
    
    const calculatingResult = calculate(add, [1, 2, 3], getOperator());

    6.再帰関数


    関数呼び出し自体を再帰関数(recursive call)と呼ぶ.
    ★召喚が復帰した時は無限ループが続くので、脱出条件が必要です.
    function factorial ( n ) {
      if ( n <= 1 ) return 1; // 탈출조건
      return n * factorial ( n-1 ); // 재귀함수
    }
    
    console.log(factorial(0)); // 0! = 1