Function Composition

suggest change

Composing multiple functions into one is a functional programming common practice;

composition makes a pipeline through which our data will transit and get modified simply working on the function-composition (just like snapping pieces of a track together)…

you start out with some single responsibility functions:

const capitalize = x => x.replace(/^\w/, m => m.toUpperCase());
const sign = x => x + ',\nmade with love';

and easily create a transformation track:

const formatText = compose(capitalize, sign);

formatText('this is an example')
// This is an example,
// made with love

N.B. Composition is achieved through a utility function usually called compose as in our example.

Implementation of compose are present in many JavaScript utility libraries (lodash, rambda, etc.) but you can also start out with a simple implementation such as:

const compose = (...funs) =>
  x =>
  funs.reduce((ac, f) => f(ac), x);

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents