💻 Dev

🛠️ 처음부터 만드는 Partial — 함수의 인자를 미리 채우기

Partial Application은 함수의 일부 인자를 먼저 고정하고, 나머지 인자를 받을 함수를 반환하는 기법입니다.

기본 구현


```javascript
function partial(fn, ...args) {
return function(...restArgs) {
return fn(...args, ...restArgs);
};
}
// 사용 예
const multiply = (a, b) => a * b;
const double = partial(multiply, 2);
console.log(double(5)); // 10
console.log(double(3)); // 6
```

실무 예제


```javascript
const fetch = (method, url, data) => `${method} ${url} with ${data}`;
const postRequest = partial(fetch, 'POST');
const postToAPI = partial(postRequest, '/api/users');
console.log(postToAPI('user data'));
// POST /api/users with user data
```

Curry와의 차이


  • Partial: 일부 인자를 미리 채운 후 나머지를 한 번에 받음

  • Curry: 각 인자를 하나씩 받으며 함수를 중첩

  • ```javascript
    const curriedFn = (a) => (b) => a + b;
    const partialFn = partial((a, b) => a + b, 5);
    curriedFn(5)(3); // 8 (두 번 호출)
    partialFn(3); // 8 (한 번 호출)
    ```
    Partial은 API 래퍼, 기본값 설정, 콜백 함수 생성 같은 실무에서 자주 쓰입니다.
    📚 더 알아보기: [MDN - Function Methods](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/bind)
    💬 0
    👁 0 views

    Comments (0)

    💬

    No comments yet.

    Be the first to comment!