javascript

Pure And Impure Functions in Javascript

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

Recent Posts

How to Dynamically Create, Update, and Delete HTML Elements

In modern web development, dynamically manipulating HTML elements is essential for creating interactive and responsive…

4 days ago

Why parseInt(’09’) Returns 0

If you've ever encountered the puzzling behavior of parseInt('09') returning 0 in JavaScript, you're not…

1 week ago

Event Bubbling and Capturing: Why Your Click Listener Fires Twice (And How to Fix It)

If you’ve ever built an interactive web application, you may have encountered a puzzling issue:…

2 weeks ago

Practical Array Methods for Everyday Coding

Arrays are the backbone of programming, used in nearly every application. Whether you're manipulating data,…

2 weeks ago

What the Heck Is the Event Loop? (Explained With Pizza Shop Analogies)

If you've ever tried to learn JavaScript, you’ve probably heard about the "Event Loop"—that mysterious,…

3 weeks ago

Why [] === [] Returns false in JavaScript (And How to Properly Compare Arrays & Objects)

JavaScript can sometimes behave in unexpected ways, especially when comparing arrays and objects. If you've…

3 weeks ago