![[코어자바스크립트] 05. 클로저](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FlhC3l%2FbtsL5MVArBz%2FAAAAAAAAAAAAAAAAAAAAAG-YFGwnIWv2Wn0wdkHFFL23FgG_ZH7pwvLeSuRmCYS0%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DV%252FHs6PHMZTy2e8c4erpVnYum7ZQ%253D)
💜 프론트엔드/JavaScript2025. 2. 2. 01:00[코어자바스크립트] 05. 클로저
1. 클로저의 의미 및 원리 이해클로저란? "어떤 함수에서 선언한 변수를 참조하는 내부함수에서만 발생하는 현상"을 의미한다. var outer = function () { var a = 1; var inner = function () { console.log(++a); }; inner();};outer();위 코드는 outer 함수의 실행 컨텍스트가 종료되면 LexicalEnvironment에 저장된 식별자들(a, inner)에 대한 참조를 지우게 된다. 그러면 참조하는 변수가 하나도 없게 되므로 가비지 컬렉터의 수집 대상이 된다. var outer = function () { var a = 1; var inner = function () { return ++a; }; retur..