My Study/JavaScript
[JavaScript] - 함수 표현식 vs 함수 선언문
handbefore
2025. 1. 12. 22:19
함수 표현식과 선언문의 차이
1. 문법
함수 선언문: 함수는 주요 코드 흐름 중간에 독자적인 구문 형태로 존재
// 함수 선언문
function sum(a, b) {
return a + b;
}
함수 표현식: 함수는 표현식이나 구문 구성(syntax construct) 내부에 생성
// 함수 표현식
let sum = function(a, b) {
return a + b;
};
2. 자바스크립트 엔진이 언제 함수를 생성하는지
함수 표현식: 실제 실행 흐름이 해당 함수에 도달했을 때 함수를 생성 -> 실행 흐름이 함수에 도달했을 때부터 해당 함수를 사용 가능
함수 선언문: 함수 선언문이 정의되기 전에도 호출 가능 -> 스크립트 어디에 있느냐에 상관없이 어디에서든 사용 가능
3. 스코프
함수 선언문: 코드 블록 내에 위치하면 해당 함수는 블록 내 어디서든 접근 가능. but 블록 밖에서는 함수에 접근 x.