const text = 'hello';
function func() {
console.log(text);
}
func();
function outer() {
const x = 0;
function inner() {
console.log(`inside inner: ${x}`);
}
return inner;
}
const func1 = outer();
func1();
----------------------------------------------------------------------
function makeCounter() {
let count = 0;
function increase() {
count++;
console.log(count);
}
return increase;
}
const increase = makeCounter();
increase();
increase();
increase();
class Counter {
#count = 0;
increase() {
this.#count++;
console.log(this.#count);
}
}
const counter = new Counter();
counter.increase();
- 중첩된 함수에서 내부에 있는 함수와 그리고 외부에 있는 상태 렉시컬 환경이 저장 되어 있기 때문에 내부 환경에서 외부 환경 데이터에 접근 할 수 있는 것