partial applicatoin(부분 적용 함수)
- 기본 함수의 매개변수 중 일부를 미리 채워둔 상태의 함수
- 커링된 함수를 일부 단계까지만 호출하고 함수를 반환받으면 나중에 반환받은 함수에 나머지 인자를 전달해서 실행
var sum = function (x, y, z) {
return x + y + z;
};
//function에 partial기능을 추가
//sum.partial 함수 만듦
//prototype, this, arguments, 전개여산자, 고차함수, apply, closure
Function.prototype.partial = function (...preArgs) {
var fn = this;
var preArgs = [...arguments]; //[20,80]을 배열로 만들어서 저장하고
return function () {
//sum100이 호출될때 호출되는 함수임
//[20,80,30]
//이때 sum100에서 넘겨온 값은 여기 인자값으로 갈 것임
var args = [...preArgs, ...arguments];
return fn.apply(this, args);
};
};
var sum100 = sum.partial(20, 80); //x,y를 미리 보냄
//미리 저장해줘!
console.log(sum100(30), sum100(50));
//아직 sum에 partial이라는 메소드 없음
밑에 20과 80을 미리 저장해서 부분함수를 만들어서 사용함
'javascript' 카테고리의 다른 글
| javascript 공식 문서 학습 - Array.prototype.map() (0) | 2023.11.29 |
|---|---|
| [프로그래머스 - javascript] 짝수와 홀수 (0) | 2023.10.27 |
| javascript의 함수 (0) | 2023.10.26 |
| javascript의 데이터 타입 ⅱ (1) | 2023.10.26 |
| javascript 데이터 타입 (0) | 2023.10.25 |