Advertisement
728x90
A pure function is a function whose output depends only on its input arguments and produces no side effects. This means that given the same inputs, a pure function will always return the same output, and it does not modify any external state or data.
Let's take an example to see the difference between pure and impure functions,
#### Example: Pure vs. Impure Functions
javascript
1// Impure Function
2
3let numberArray = [];
4
5const impureAddNumber = (number) => numberArray.push(number);
6
7// Pure Function
8
9const pureAddNumber = (number) => (inputArray) =>
10
11inputArray.concat([number]);
12
13// Usage
14
15console.log(impureAddNumber(6)); // returns 1
16
17console.log(numberArray); // returns [6]
18
19console.log(pureAddNumber(7)(numberArray)); // returns [6, 7]
20
21console.log(numberArray); // remains [6]- impureAddNumber changes the external variable numberArray and returns the new length of the array, making it impure.
- pureAddNumber creates a new array with the added number and does not modify the original array, making it pure.
Advertisement
Responsive Ad
🎯 Practice NowRelated Challenge
JavaScript Coding Exercise 17
Test your knowledge with this interactive coding challenge.
Start CodingAdvertisement
728x90
16of476