함수선언문과 함수표현식의 차이

piper ·2024년 1월 10일
0

Java Script 

목록 보기
17/22

Function Declaration

함수 선언문은 아래와 같은 형태로 표현하며 호이스팅이 일어나며 초기화가 동시에 발생한다.
따라서 코드 실행 전에 함수 객체가 메모리에 형성되므로 함수 선언 전에 호출이 되어도 정상적으로 작동한다.

console.log(add(2,3)); //5  

function add(a,b) {
    return a+b; 
    }

Fucntion Expression

함수 표현식은 변수에 함수를 할당하는 방식이다. 함수에 변수를 할당하거나 다른 함수의 매개변수로 전달되는 등 유연하게 작동할 수 있지만 호이스팅 시 변수의 값이 초기화 되지 않은 상태로 호이스팅 되기 때문에
함수 선언 전에 호출할 수 없다.

// Error: Cannot access 'add' before initialization
console.log(add(2, 3));
var add = function(a, b) {
  return a + b;
};
profile
연습일지

0개의 댓글