- 함수에 인자를 하나식 적용해나가다가 필요한 지가 모두 채워지면 함수 본체를 실행하는 기법.
- 다중 인수를 갖는 함수를 단일 함수를 갖는 함수들의 함수열로 바꾸는 것.
- JS에서는 커링이 내장되어 있지 않지만, 일급함수가 지원되고 평가 시점을 다룰 수 있기 때문에 커링을 직접 구현할 수 있다.
- 커리 함수는 인자로 함수를 받고 커리 함수를 실행하는 즉시 함수를 리턴. 해당 함수가 실행되면 또 다른 함수가 연쇄적으로 실행됨.
- 커링 함수에서 앞에 있는 인자일수록 변동가성이 적게끔 구현하는 것이 좋음. 다라서 인자를 역으로 받아야 되는 경우를 고려하여 오른쪽에서부터 인자를 적용해 나가는 커링함수를 별도로 만들어 사용함.
참고