: 함수와 함수가 선언된 어휘적 환경 (Lexical scope)의 조합
: 클로저가 생성된 시점의 유효 범위 내에 있는 모든 지역 변수로 구성
각각의 Lexical환경은 서로 영향을 주지 않음
function makeCounter(){
let num = 0;
return function(){ // 숫자반환, 외부함수의 변수 사용
return num++;
};
}
let counter = makeCounter();
console.log(counter()); // 0
console.log(counter()); // 1
console.log(counter()); // 2