
function makeAdder(x) {
return function(y){
//yλ₯Ό κ°μ§κ³ μκ³ μμ ν¨μμΈ makeAdderμ xμ μ κ·Ό κ°λ₯
return x+y;
}
}
const add3 = makeAdder(3);
console.log(add3(2));
//add3 ν¨μκ° μμ±λ μ΄νμλ μμν¨μμΈ makeAdderμ xμ μ κ·Ό κ°λ₯ => Closure
const add10 = makeAdder(10);
console.log(add10(5));
console.log(add3(1));
ν¨μμ λ μ컬 νκ²½μ μ‘°ν©
ν¨μκ° μμ±λ λΉμμ μΈλΆ λ³μλ₯Ό κΈ°μ΅
μμ± μ΄νμλ κ³μ μ κ·Ό κ°λ₯
μΈλΆ ν¨μμ μ μΈμ΄ λλμ, λ΄λΆ ν¨μκ° μ μΈλ μ΄νμλ
λ΄λΆ ν¨μκ° μΈλΆν¨μμ λ³μμ μ κ·Ό κ°λ₯ν κ²!