첫 번째 차이는 문법적 차이
입니다.
함수 선언문: function 함수이름() { ... }
함수 표현식: const func = function () { ... }
언제 함수를 호출하는지
입니다. -> 호이스팅의 영향을 받는지실제 실행 흐름
이 해당 함수에 도달했을 때 함수를 생성 합니다. 호이스팅
에 영향을 받습니다.// 실행 전
logMessage();
sumNumbers();
function logMessage() {
return 'worked';
}
var sumNumbers = function () {
return 10 + 20;
};
// 실행 시
function logMessage() {
return 'worked';
}
var sumNumbers;
logMessage(); // 'worked'
sumNumbers(); // Uncaught TypeError: sumNumbers is not a function
sumNumbers = function () {
return 10 + 20;
};