클로저

const x=1; function outer(){ const x=10; const inner=function(){ console.log(x); } return inner; } const innerFunc=outer(); innerFunc(); // 10 외부함수보다 중첩함수가 더 오래 유지되는 경우 중첩함수는 이미 생명주기가 종료된 외부함수의 변수를 참조할 수 있음 이런 중첩함수를 클로저라 부름 상위 함수의 실행컨텍스트는 사라지지만, 렉시컬 환경은 inner함수에 의해 참조되어 사라지지않기때문에 가능함 참조되고 있는 메모리를 가비지 컬렉팅 하지 않음 상위 함수의 렉시컬 환경을 참조하는 경우만 클로저이다. 상위 함수의 렉시컬 환경을 참조 하지않으면 상위 함수의 렉시컬 환경은 가비지컬렉팅 대상이됨 일부만 ..
_0422
'클로저' 태그의 글 목록