Pure Function JavaScript
Table of contents
Functions
People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones. Donald Knuth
Functions are the bread and butter of JavaScript programming. The concept of warping a piece of code in a block has many values. In JavaScript, functions are first-class citizens. First-class citizens mean that functions can do everything that others can.
Functions can be assigned to a variable
Functions can be passed as an argument
Functions can be returned from a function
A program is a collection of blocks of code that are called functions. Functions in programming are the same as function in Math let's take an example In Math we write functions like this f(x)=x+2 This simply means that a function takes x as an input and return x+2. Let's now create a program of the above function.
function addTwo(x){
return x+2
}
The addTwo is the programming implementation of f(x)=x+2 in this function. The addTwo function is a Pure function
Pure Function
For a function to be pure it has to meet the following two conditions,
*** Given the same input the same output should be returned. ***
No side effects.
Let's now try to defend our statement about the addTwo function being pure. we will have to check if the addTwo function meets the above-mentioned conditions if it does then we will be successful in defending our statement.
*** Given the same input the same output should be returned *** let's pass 2 as an input.
console.log(addTwo(2))
It will return 4
Now it doesn't matter how many times we pass the value of 2 the function addTwo will always return 4. So it is clear that our addTwo function satisfies the first condition of the Pure function.
Let's now try to verify the second condition.
*** No Side Effects ** what is a side effect? When a function modifies or relies on anything outside of its parameters then the function has side effects.
The above function of ours is not using anything outside of its parameter which means that it satisfies the second condition of pure function.
It is concluded that our *** addTwo function is a pure function***
A principle of identifying a pure function.
Why you should use pure functions?
Easy to refactor and move around.
Independent of the outside world.
Simplest reusable block of code.
Immune to bugs outside of its scope.
Makes programs more adaptable to future changes
Conclusion
A computer program is a collection of small blocks of code that are called functions. A pure function is a function that when given the same input will return the same output and a pure function doesn't have side effects. Pure functions are independent of outside and can easily be refactored.
Subscribe to my newsletter
Read articles from Hamza Ali directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Hamza Ali
Hamza Ali
Full stack Javascript Developer | Javascript, React, Typescript, Node/Express, MongoDB (MERN) ,SQL, PostgreSQL | Open source enthusiast