Be the first user to complete this post

  • 0
Add to List

Pure vs Impure functions

Characterestics of Pure Functions

  • The return value of the pure functions solely depends on its arguments
    • Hence, if you call the pure functions with the same set of arguments, you will always get the same return values
  • They do not have any side effects like network or database calls
  • They do not modify the arguments which are passed to them
For example,
function calculateSquareArea(x) {
   return x * x;
}

Characterisitcs of Impure functions

  • The return value of the impure functions does not solely depend on its arguments
    • Hence, if you call the impure functions with the same set of arguments, you might get the different return values
    • For example, Math.random(), Date.now()
  • They may have any side effects like network or database calls
  • They may modify the arguments which are passed to them
For example,

function squareAll(items) {

  var len = items.length;
  for (var i = 0; i < len; i++) {
    items[i] = items[i] * items[i];
  }

  return items;
}



Also Read:

  1. Getting started with localStorage vs sessionStorage in html5
  2. Split a string in javascript when both comma and spaces are present
  3. css : center element vertically and horizontally
  4. Parse html response with fetch API
  5. Generators and Yield in es6