명칭은 정확히 몰라서 double parentheses
라고 기억하련다.
함수를 실행하는데 괄호가 두 개 붙어 있다.
함수가 실행되면 받은 인자로 바로 또 다른 함수를 반환하는 함수가 있다.
처음 맞닥뜨렸을 땐 생긴 것도 맘에 안 들었고
사용하는 이유도 납득이 안 됐는데
클로저를 위함이었다고 한다.
function outer(number) {
let output = 'this number is ' + number
return function() {
alert(output)
}
}
outer(9)()
// this number is 9
인자의 할당은 이런식으로 동작한다.
function count(x){
return function(y){
return x + y;
};
}
let count_some = count(4);
count_some(5) // 9
count(4)(5) // 9