Pure Functions
A pure function in Javascript is one that given the same input will always return the same output and does not have any observable side effect.
This means that it does not depend on or change any state outside of the function and will always return the same output value for the same input.
Example
add = (a, b) => {
return a+b;
}
console.log(add(3,4)); //7
Impure Functions
The outcome of an impure function on the other hand depends on any change outside of the function and will not return the same output value for the same input.
Example
let minimum = 21;
let checkAge = function(age){
return age > minimum;
}
console.log(checkAge(22)); //True
In the above example, the outcome of the program depends on the value assigned to the minimum variable. If that variable changes, the function will not return the same output value even if the input remains constant.
THE END