JavaScript
Closure Function
ToKor
2020. 12. 5. 01:21
Nest 함수를 통해 내부함수는 외부함수의 변수에 접근 가능
/* Ex1 */
function speak(){
var word = "hello";
return function say(){
console.log(word);
}
}
// assign syaHello and syaHello reference say()
var sayHello = speak();
// excute
sayHello(); // hello
/* Ex2 */
function name(n){
return function(a){
return `${n} likes ${a}`;
}
}
var j = name('John'); // j == function(a) { return `${n} likes ${a}`;}
// outer 함수 실행해서 저장하면, 변수는 이너함수를 참조하게 된다.
console.log(j()); // John likes undefined
console.log(j('Dog')); // John likes Dog