반응형
closure
-
클로저란 무엇일까? 간결하게 정리Dev/Javascript 2024. 4. 22. 23:00
클로저를 쉽게 이해하기 위해서는 배경지식이 필요하다. 먼저, 실행 컨텍스트를 알아야한다. 함수는 호출 될 때 함수의 실행 컨텍스트가 생성됐다가 실행이 끝나면 실행 컨텍스트가 종료된다. 이때 실행 컨텍스트의 lexical environment에는 함수의 지역 변수의 정보와 이 함수의 상위 스코프의 대한 정보가 들어있다. (scope chain) 클로저란? 함수가 생성 될 때 주변 환경의 상태를 기억하여(lexical environment) 나중에 호출될 때 그 값에 접근할 수 있는 것을 말한다. 예제를 보자면, function makeCounter() { let count = 0; function inner() { count++; return count; } return inner; } let counte..