반응형
함수 선언식(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'
차이점
함수 선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다.
함수 선언식은 코드를 구현한 위치와 관계없이 자바스크립트의 특징인호이스팅에 따라 브라우저가 자바스크립트를 해석할 때 맨 위로 끌어 올려진다.
예를 들어, 아래의 코드를 실행할 때
더 많은 내용(출처) : joshua1988.github.io/web-development/javascript/function-expressions-vs-declarations/
반응형
'JavaScript' 카테고리의 다른 글
TIL 0918 클래스 Math.max arguments RestParameter / SpreadSyntax (0) | 2020.09.18 |
---|---|
TIL 0917 Testbuilder, 조건문, 리터럴, IIFE(Immediately invoked function expression) (0) | 2020.09.17 |
TIL 0916 JavaScript Koans 과제 (0) | 2020.09.16 |
TIL 0915 스코프(Scope), 클로저(Closure), 객체지향 JavaScript, 전달인자(parameter, arguments) (0) | 2020.09.15 |
TIL 0910 MDN 배열, 객체 메서드 (0) | 2020.09.10 |
댓글