어휘적 환경( Lexical Environment ) - 1

// #1 ====> 해당 위치에서의 Lexical
let one; // #2 ====> 해당 위치에서의 Lexical
one = 1; // #3 ====> 해당 위치에서의 Lexical

function addOne(num) {
	console.log(one + num);
}

addOne(5); // #4 ====> 해당 위치에서의 Lexical

어휘적 환경( Lexical Environment ) - 2

// #1 ====> 해당 위치에서의 Lexical
function makeAdder(x) {
	return function(y) {
		return x + y;
	}
}

const add3 = makeAdder(3); // #2 ====> 해당 위치에서의 Lexical
console.log(add3(2));      // #3 ====> 해당 위치에서의 Lexical --> Closure
//-> 5
const add10 = makeAdder(10); // #4 ====> 해당 위치에서의 Lexical
console.log(add10(5));       // #5 ====> 해당 위치에서의 Lexical --> Closure
// -> 15
console.log(add3(1));  // --> Closure
// -> 4