TIL 5. 関数(Function)-宣言と呼び出し


🔥 Study Keyword


、、

関数とは?


独立ブロックは、特別な目的のタスクを実行することを目的としています.
必要に応じて、これらの関数をいつでも呼び出して繰り返し実行できます.
JavaScript関数とは?

  • コードセットのデータ型を表します.

  • したがって、変数に関数を割り当てるか、関数を返すことができます.


  • ※関数の定義


    これは、関数を呼び出す前に、パラメータを渡すパラメータ、実行する文、および返す値を指定することを意味します.
    定義された関数はJavaScriptエンジンによって評価され、関数オブジェクトになります.
    ▼▼▼関数と変数の違いは何ですか?
    変数はデータのみを格納し、コードは格納できません.
    関数は、コードをメモリに格納し、必要に応じて呼び出すことができます.

  • 関数宣言

  • 関数宣言コードの命名
    // 함수 선언 -> 반드시 함수 이름(sum)이 표시되어야 한다
    function sum(){ 
      console.log('Hello');
    }
  •     - function 이라는 키워드를 가지고 함수를 선언한다.
        - **리터럴 방식과 동일하지만 함수 이름을 생략할 수 없다.**
        - 아직 함수를 선언만 하고, 호출 하지 않았기 때문에  undefined 값이 나온다.
    
        ```jsx
        // 함수 선언 -> 반드시 함수 이름(sum)이 표시되어야 한다
        function sum(){ 
          console.log('Hello');
        }
    
        // 함수 호출
        sum();
        ```
    
      

  • 関数式

  • インタラクティブ匿名関数式コード
    //이름이 없는 함수를 변수에 담은 방식 -> 자바스크립트 엔진이 이름을 변수명으로 추정하여 넣는다. 
    
    //함수 표현식
    let name = function(a, b) {
    	return a + b;
    }
    
    console.log(name('Jung ', 'jihoo'));

  • JavaScriptでは、関数は1レベルのオブジェクトです!したがって、関数は値のように使用できます.

  • 関数は1レベルのオブジェクトであるため、関数として作成された関数オブジェクトを変数nameに割り当てることができます.この定義は関数式と呼ばれます.
  • はまだ関数を呼び出していないので、定義されていないと表示されます.
  • †一級オブジェクトの定義

       ⇒ 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다.
  • 関数は、変数またはデータに割り当てることができます.
  • パラメータとして
  • 関数を渡すことができます.
  • 関数を返すことができます.
  • すべての要素は同じ比較の対象とすることができる

  • 📝関数宣言文と関数式の違い

  • がんばって
    関数のすべての宣言を、関数の有効範囲の最上位に移動します.

  • JAvascript関数は、実行前に関数に必要なすべての変数値を収集し、有効範囲の上部で宣言します.

  • すなわち、関数では、下部に存在するコンテンツに必要な値を上げる.
    ▼対象:var変数、関数宣言にプラス記号が表示されます.
             (let, const 같은 변수와 함수 표현식에서는 호이스팅이 일어나지 않는다. )
    hello(); //함수 호출 
    
    function hello() {
    	console.log('jihoo');
    }
    
    // jihoo  => 호이스팅.
    
    hi(); //함수 호출
    
    var hi = function() {
    console.log('hoo');
    }
    
    // TypeError => 함수 표현식 호이스팅 되지 않음.


  • 📝関数

  • 異種
    コンセプト:変数に格納されている値自体を指し、値の名前を付けるのではありません.
    (整数、文字数、配列数などの言語の要素で、整数と呼ばれます)
    だからね.
    変数がデータを格納できるコンテナだと思っている場合は、文字はこの空間に格納されている値を意味します.→コードでデータを表現する方法!!
    通常、オブジェクト向け言語では、変数を表すオブジェクトの文字記号がサポートされます.
    同時に値を指定するマーキング法.匿名関数
    利点:コードが短くなります.→javascript interpreterの解釈成分も減少し、速度も速くなります.

  • パラメータ

  • パラメータ(parameter)
    パラメータ(parameter)とは、関数定義で渡されるパラメータです. 使用する変数.→引数とは、関数の呼び出し時に関数に値を渡す値です. 私が言います.
                    // -> parameter(인자)
    function sentence(addWord) {
    	 return 'Hello ' + addWord
    }
    
    sentence('샤2조');
    
    // "Hello 샤2조"
    
    // parameter 2개
    function numplay(a, b) {
    	return a + b
    }
    					//-> arguments
    numplay(3, 5); // => 8
    numplay(3);  //=> NaN = not a number

  • 関数実行文

  • カッコ{}を含むJavaScript実行文
    return
    /*
      function 함수명(){
        실행문;
        return 데이터;
      }
      
      var 변수 = 함수명();
    */
    
    function names(name) {
    	var result = "Hi " + name // -> 실행문
    	return result;    // -> 실행문의 결과값을 반환시킨다. 
    }
    
    var results = names("길동");
    console.log(results);
    
    // Hi 길동
    
    // -> return의 강제 종료 역할
    /*
      function 함수명(){
        실행문;
        return;              
        실행문;
      }
      
      함수명();
    */
    
    function example() {
    console.log("hello");
    return;
    console.log("bye");
    }
    
    example();

    ▼▼▼関数を呼び出すと、関数の実行文が実行され、文の実行後に実行されます.
     return문이 실행되면
    
     return문 다음에 오는 실행문은 시행되지 않고 강제로 종료된다. 
  • ※関数の呼び出し


    定義関数は実行関数ではありません.呼び出し関数は、表示されたパラメータを使用して指定された動作を実行します.つまり、関数を呼び出すだけで実行できます.
    //함수의 정의
    
    function number(a, b) {
    	return a + b;
    }  
    // => 아무것도 나타나지 않음. 
    
    // 함수 호출 
    
    let nums = number(100, 500); // 함수 number을 호출하면서, 인수로 100, 500을 전달 
                                 // 함수 호출 후에는 그 반환값을 변수 nums에 대입.
    // 600;
    パラメータとして渡される数値100および500は、関数で定義されたパラメータを表します.
    代入される.
    呼び出された関数の内部で、代入された100500が計算されます.