소소한일상

[자바스크립트] 함수선언식과 함수표현식 본문

javsscript

[자바스크립트] 함수선언식과 함수표현식

젤라 2022. 4. 26. 11:14

함수 정의 방법은 크게 2가지로 표현할 수 있는데

  • 함수 선언식
  • 함수 표현식
🔖 함수선언식과 함수표현식의 제일 중요한차이점은 호이스팅
//호이스팅이란 최상단으로 끌어올리는 행위

 

함수선언식

function hello1(){
//실핼 할 코드
}

 

함수표현식(익명함수)

let hello2 = function(){
//실행 할 코드
}

 

📍호이스팅 확인방법

//함수선언식
      function test(p1,p2){
          return p1+p2;
      }
      const test1 = test(12,30);
      console.log(test1);//42

      //함수표현식 => 화살표함수로 가능
      const test2 = function(p1,p2){
          return p1+ p2;
      }
      const test22 = test2(12,30);
      console.log(test22);//42
      
      
      
      
      /*=================호이스팅으로 함수위로 올렸을 경우=================*/
      
      //함수선언식

     const test1 = test(12,30);
     console.log(test1);//42 오류나질않음

      function test(p1,p2){
          return p1+p2;
      }
     

      //함수표현식 => 화살표함수로 가능
      
      const test22 = test2(12,30);
      console.log(test22);// 오류남
      
      const test2 = function(p1,p2){
          return p1+ p2;
      }

 

 

function a () {}
const a = function (){}
const a = () => {}