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. css specificity interview question
  2. nodejs: generate uuid / guid
  3. querySelector vs getElementById
  4. A simple requestAnimationFrame example visually explained
  5. Automating Store and Action registration for multiple components using Fluxxor
  6. Getting the parameters and arguments of a javascript function
  7. webpack with babel6 and react