카레
카레 여러 인수가 있는 함수를 단일 인수로 함수의 시퀀스로 평가하는 기술입니다. 모든 인수가 충족될 때까지 세 번째 함수 등을 사용하는 새 함수를 반환합니다.
커링 기능 사용
a) 동일한 변수를 반복해서 전달하는 것을 방지하는 데 도움이 됩니다.
b) 이벤트 처리에 매우 유용합니다.
구문:
function Myfunction(a) {
return (b) => {
return (c) => {
return a * b * c
}
}
} 예시
다음 예에서는 커리가 없기 때문에 를 사용하면 기존 함수에 모든 파라미터를 한번에(volume(11,2,3)) 전달하여 부피를 계산합니다.
<html>
<body>
<script>
function volume(length, width, height) {
return length * width * height;
}
document.write((volume(11,2,3)));
</script>
</body>
</html> 출력
66
예시
다음 예에서는 커리 가 사용되면 마지막 함수가 마지막 매개변수를 호출할 때까지 매개변수가 하나씩(volume(11)(2)(3)) 전달되었습니다.
<html>
<body>
<script>
function volume(length) {
return function(width) {
return function(height) {
return height * width * length;
}
}
}
document.write(volume(11)(2)(3))
</script>
</body>
</html> 출력
66