[JavaScript] 클로저(Closure)
클로저(Closure) 는 “함수가 만들어질 때의 스코프(변수 환경) 를 기억해서, 함수 바깥에서 실행돼도 그 변수를 계속 접근할 수 있는 것”을 말한다. 즉, 함수 + 그 함수가 참조하는 외부 변수(렉시컬 환경) 가 함께 묶여서 살아있는 상태가 클로저다. 왜 ‘기억’이 가능한가? 자바스크립트 함수는 실행될 때마다 내부에서 필요한 변수를 ...
클로저(Closure) 는 “함수가 만들어질 때의 스코프(변수 환경) 를 기억해서, 함수 바깥에서 실행돼도 그 변수를 계속 접근할 수 있는 것”을 말한다. 즉, 함수 + 그 함수가 참조하는 외부 변수(렉시컬 환경) 가 함께 묶여서 살아있는 상태가 클로저다. 왜 ‘기억’이 가능한가? 자바스크립트 함수는 실행될 때마다 내부에서 필요한 변수를 ...
JavaScript에서 변수를 선언하는 방법은 var, let, const가 있다. 요즘은 대부분 let과 const를 사용하고, var는 레거시 코드에서 주로 만난다. 이 글은 아래 3가지만 확실하게 정리하는 게 목표이다. 스코프(scope): 변수가 “어디까지” 보이는가? 재선언/재할당: 같은 이름으로 다시 선언 가능한가? 값 변경 가...