[JS] 커링(Currying)
커링은 여러 개의 인자를 가진 함수를 호출할 경우, 파라미터의 수보다 적은 수의 파라미터를 인자로 받으면 누락된 파라미터를 인자로 받도록 하는 것이다. 즉 커링은 함수 하나가 n개의 인자를 받는 과정을 n개의 함수로 각각의 인자를 받도록 하는 것이다. 부분적으로 적용된 함수를 체인으로 계속 생성해 결과적으로 값을 처리하도록 하는 것이 그 본질이다. 말이 어렵다. 간단하게 말하면 함수를 부르는 함수를 만들어 인자를 각 함수가 각각 받는 것이다. func(1, 2, 3)이 아닌, func(1)(2)(3) 이런 방식으로 말이다. 이러한 함수를 생성할 때는 당연히 함수를 반환하는 클로저 패턴이 사용되는데,때문에 let func1 = func(1)과 같이 생성해두고 func1(3)(4), func(5)(6)과 같..