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. Progressive enhancement vs Graceful degradation
  2. Automating Store and Action registration for multiple components using Fluxxor
  3. Require the css file of a package using webpack
  4. JavaScript Promises - Visualized
  5. Error: can not find module 'underscore'