본문 바로가기
JavaScript

함수 선언식, 함수 표현식

by 짱닭 2020. 9. 17.
반응형

함수 선언식(Function Declaration)

function something() {
  ...
}



function funcDeclaration() {
  return 'function declaration';
}

funcDeclarations(); // 'function declaration'

함수 표현식 (Function Expression)

let something = function () {
  ...
};


let funcExpression = function () {
    return 'function expression';
}

funcExpression(); // 'function expression'

차이점

선언식은 function type, 표현식은 string type

함수 선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다.

함수 선언식은 코드를 구현한 위치와 관계없이 자바스크립트의 특징인호이스팅에 따라 브라우저가 자바스크립트를 해석할 때 맨 위로 끌어 올려진다.

예를 들어, 아래의 코드를 실행할 때

더 많은 내용(출처) : joshua1988.github.io/web-development/javascript/function-expressions-vs-declarations/

반응형

댓글