In this article, we’ll look at how to pipe functions and functors with JavaScript.
JavaScript is partly a functional language.
To learn JavaScript, we got to learn the functional parts of JavaScript.
In this article, we’ll look at how to pipe functions and functors with JavaScript.
We can create a pipe
function by creating a function that takes an array of functions as arguments.
It returns a function that takes a value and we call reduce
on it with that calls fn
with acc
.
For example, we can write:
const compose = (...fns) =>
(value) =>
fns.reduceRight((acc, fn) => fn(acc), value)
The only difference is that we used reduceRight
instead of reduce
so that we don’t have to call reverse
to apply all the functions.
Composition is associative, this means we can rearrange the parentheses of our operations
For instance:
compose(f, compose(g, h)) == compose(compose(f, g), h)
returns true
.
Exercise from Eloquent JavaScript. Today, we will write a function that forms a chessboard. You can find the exercise in the Eloquent Javascript book (3rd edition, chapter 2; Program Structure). Write a program that creates a string that represents an 8×8 grid, using newline characters to separate lines. At each position of the grid there is either a space or a “#” character. The characters should form a chessboard.
One of the nice things about learning JavaScript these days is that there is a plethora of choices for writing and running JavaScript code. In this article, I’m going to describe a few of these environments and show you the environment I’ll be using in this series of articles.
To paraphrase the title of an old computer science textbook, “Algorithms + Data = Programs.” The first step in learning a programming language such as JavaScript is to learn what types of data the language can work with. The second step is to learn how to store that data in variables. In this article I’ll discuss the different types of data you can work with in a JavaScript program and how to create and use variables to store and manipulate that data.
Professor JavaScript is a JavaScript online learning courses YouTube Channel. Students can learn how to develop codes with JavaScript from basic to advanced levels through the online courses in this YouTube channel.
Async callbacks or promises. Introduction to JavaScript Async Programming