RSS DEV 커뮤니티

함수 선언 vs 함수 표현식: 차이점은 무엇인가?

함수는 특정 작업을 수행하는 재사용 가능한 코드 블록으로, 입력을 받아 출력을 생성합니다. 함수 선언은 `function` 키워드, 이름, 선택적 매개변수를 사용하며, 실행을 위한 함수의 본체를 정의합니다. 반면에 함수 표현식은 함수를 변수에 할당하며, 종종 익명으로 사용됩니다. 주요 차이점은 호이스팅입니다. 선언은 호이스팅되어 정의 전에 호출할 수 있지만, 표현식은 완전히 호이스팅되지 않습니다. 호이스팅은 대략적으로 컴파일 중에 선언을 해당 범위의 맨 위로 이동시키는 것입니다. 함수 선언은 코드 전체에서 필요한 독립 실행형 함수에 적합하며, 가독성과 호이스팅 이점을 제공합니다. 함수 표현식은 콜백, 즉시 실행 함수 호출, 조건부 정의에 가장 적합하며, 구조화된 제어를 제공하고 전역 범위 오염을 방지합니다. 둘 중 어떤 것을 선택할지는 호이스팅 요구 사항, 함수 사용법, 코드 스타일, 원하는 범위에 따라 달라집니다.
favicon
dev.to
Function Declaration vs Function Expression: What’s the Difference?
Create attached notes ...