JavaScript 클로저 완전 정복: 함수는 어떻게 자신이 태어난 환경을 기억하는가
프론트엔드 개발자 면접에서 자주 나오는 JavaScript 질문 중 하나가 바로 클로저(Closure) 다.많은 개발자가 클로저를 “함수 안의 함수” 또는 “외부 변수에 접근하는 내부 함수” 정도로 기억한다. 하지만 이 설명은 절반만 맞다. 클로저를 제대로 이해하려면 단순히 코드 패턴을 외우는 것이 아니라, JavaScript가 스코프를 어떻게 결정하는지, 함수가 어떤 환경을 기억하는지, 그리고 그 특성이 실무에서 상태 관리, 이벤트 핸들러, 비동기 처리, React Hooks, 메모리 관리와 어떻게 연결되는지까지 이해해야 한다.이 글에서는 클로저를 기초부터 깊이 있게 정리해본다.1. 클로저를 한 문장으로 정의하면클로저는 함수와 그 함수가 선언될 당시의 렉시컬 환경이 함께 묶인 구조다.조금 더 쉽게 말하..
2026.06.20