-
[JavaScript] 커링이란?JavaScript 2023. 9. 20. 00:12
커링이란?
커링이라는 단어를 처음보고 찾아보게 되었다. 만약에 function(a,b)와 같이 두 개의 매개 변수를 받는다고 가정하자. 이 함수는 매개 변수를 한 번에 받아 한 번만 호출하도록 구현됐음을 알 수 있다. 하지만 커링은 function(a)(b)처럼 인수를 하나씩 받는 방법을 의미한다.
function hello(name){ return function(age){ return function(job){ return `이름: ${name}, 나이: ${age}, 직업: ${job}` } } } hello('아이유')(30)('가수') // 이름: 아이유, 나이: 30, 직업: 가수
다음과 같이 사용할 수 있다. 커링된 함수는 첫 번째 인수를 받아서 그에 따른 함수를 반환하고, 그 반환된 함수에 다음 인수를 전달하여 값을 계산하는 방식으로 동작한다.
왜 커링을 사용할까?
커링을 어떤 상황에서 사용하는지 궁금하였다. 대표적으로 커링을 사용하면 함수에 필요한 일부 인수를 미리 고정할 수 있는 장점이 있다. 이를 통해 특정한 상황에서 함수를 더 쉽게 사용할 수 있다.
const helloIU = hello('아이유') helloIU(30)('가수') // 이름: 아이유, 나이: 30, 직업: 가수 helloIU(31)('배우') // 이름: 아이유, 나이: 31, 직업: 배우
이처럼 name 인수를 고정한 함수를 반환하여 함수를 재사용할 수 있다는 장점이 있다.
반응형'JavaScript' 카테고리의 다른 글
[JavaScript] XState 기초 이해하기 (0) 2023.10.20 [JavaScript] 다중 조건 정렬 (0) 2023.10.12 [JavaScript] Array.fill() 사용 시 주의할 점 (0) 2023.08.13 [JavaScript] 숫자로 된 문자열 정렬 (0) 2023.07.27 [TypeScript] reduce 사용하기 (array to object) (0) 2023.07.06