JavaScript 카레링 2 - 암묵적 프로그래밍(포인트 프리 스타일)

2535 단어 typescriptjavascript
Tacid 프로그래밍(즉, Point-free 스타일)은 함수 정의가 함수 인수를 참조하지 않는 프로그래밍 패러다임입니다. 반면에 함수 선언은 형식 매개변수를 선언해야 합니다. 모든 point-free 함수에는 클로저 범위가 있습니다. 클로저는 함수 생성 시간(함수가 호출될 때)에 생성됩니다. 커리 함수의 모든 형태는 고차 함수의 형태입니다.

const add = (a) => (b) => a + b;
const incrementByOne = add(1); // partially applied function
incrementByOne(9); // => 10


함수 호출incrementByOneadd(1)를 생성할 때 a 함수의 add 매개변수는 1 함수에 할당되는 반환된 함수 내부에서 incrementByOne로 고정됩니다. incrementByOne 매개변수가 b로 고정된 9 함수를 호출하면 함수 적용이 완료되고 19 의 합계를 반환합니다.

// Another example of point-free style function
const g = (n) => n + 1;
const f = (n) => n * 2;
const h = (x) => f(g(x));
h(20); // => 42

좋은 웹페이지 즐겨찾기