클로저 — 함수가 변수를 기억하는 방식
·
Frontend/Javascript Essentials
“A closure is the combination of a function and the lexical environment within which that function was declared.” 클로저란 함수와 그 함수가 선언된 렉시컬 환경의 조합이다. 자바스크립트에서 클로저는 단순히 “함수 안의 함수” 그 이상이다.클로저는 함수가 만들어질 당시의 스코프를 기억하는 메커니즘으로, 자바스크립트의 스코프와 실행 컨텍스트 구조를 이해하는 데 핵심적인 개념이다. 1. 렉시컬 스코프 (Lexical Scope)자바스크립트는 렉시컬 스코프(정적 스코프)를 따른다.즉, “함수가 어디서 호출되었는가”가 아니라 “어디서 정의되었는가”에 따라 상위 스코프가 결정된다.const x = 1;function foo(..