[Java Script]関数式


📍 Javaコンパイラ
  • javaは、コードのトップダウン順にコンパイルされる仲介言語です.
  • ハーモニー
    function addOne(num){
      return num + 1;
    }
    addOne(num); // error : 순서대로 실행했을 때 num이라는 변수를 만나지 못함!
    const num = 10;
  • ですが、関数が異なります.プログラムの実行前の初期化フェーズでは、Javaはコード内のすべての関数宣言を検索して生成します.
  • はハウスティンHoistingと呼ばれています.
  • ハーモニー
    addOne(1); // 결과: 2, not error!
    
    function addOne(num){
      return num+1;
    }
    📍 関数式
  • ですが、関数式にはシースは適用されません.
  • ハーモニー
    addOne(1); // error!
    
    let addOne = function(num){
      return num+1;
    }
    
    addOne(1); // not error!
  • JavaScriptコンパイラが関数式を行単位で読み込むときに関数を作成します.
  • したがって、関数式はコードを記述した後にのみ使用できます.📍 矢印関数
    ハーモニー
    // 일반 함수
    let add = function(num1,num2){
      return num1 + num2;
    }
    
    // 화살표 함수
    let add = (num1,num2) => num1 + num2; // num1 + num2를 return
    
    let sayHello = (name) => `Hello, ${name}`; // `Hello, ${name}`을 return
    
    let showError = () => { // 매개변수가 없어도 () 생략 불가능!
      alert('error!');
    } 
    let div = (num1,num2) => {
      const result = num1/num2;
      return result;
      // 만약 함수가 2줄 이상이면 {} 생략 불가능!
    }