const adder = x => y => x+y;
adder(4)(5); // 9
const adder = x => y => x+y;
adder(5)(7); // 12
typeof adder(5) // 'function
adder(5) // y => x(x는 5)+y
// const adder = x => y => x+y
// 위와 동일하게 작동하는 코드
const adder = function(x) {
return function(y) {
return x+y;
}
}
function(y) { <<이 부분의 리턴값이 함수의 형태
return x+y;
}
const adder = function(x) { <<외부 함수의 변수 x임 <<이 함수문은 외부 함수임
return function(y) { <<내부 함수의 변수 y임 <<이 함수문은 내부 함수임
return x+y; 이처럼 Closure 함수는 스코프가 분리되어 있음
}
}
===> 이를 통해 Closure 함수의 특징(2)는 내부 함수는 외부 함수에 선언된 변수에 접근 가능하다는 점이다.