TLDR;
표현식을 쓰세요
비교
// 선언식 - Declaration
function functionName () {
}
functionExpression(); // undefined error
// 표현식 - Expression
const functionExpression = function () {
}
functionExpression();
JavaScript
복사
선언식
•
호이스팅의 영향을 받음 → 자바스크립트 엔진이 평간단계에서 항상 맨위로 호이스팅하여 해석함
•
호이스팅 되어 위치에 상관없이 사용 할 수 있음
표현식
•
간단히 말하자면 변수에 함수를 할당하는 것
•
호이스팅 되지 않음 → 미리 호출 시 에러 출력
•
화살표 함수 → 함수 표현식의 다른 형태