Arrow Functions

So arrow functions are functions defined with a fat arrow. Example

var sumFunc = (a,b) => a+b;
sumFunc(2,9)// output 11

So the above is the same as

var sumFunc = function(a, b){
    return a+b;
}
sumFunc(2,9)// output 11

Shorter function declaration

So we have a shorter way of declaring a function. Which is useful for anonymous functions etc..

var testData = [1,2,3,4,5,6,7,8];
console.log(testData.map( n => n*2));
//same as
console.log(testData.map(function(num){return num*2;}));

Lexical this

Arrow functions capture the value of this from the enclosing context, so you should not need to bind or manage this as much.

var testObj = {
  data: [1,2,3,4,5,6,7,8],

  multiplier: 2,

  //calc with this management
  calc: function(){
    return this.data.map(function(num){
      return num*this.multiplier;
    }, this);
  },

  //calc with arrow function
  calcArrow: function(){
    return this.data.map( n => n*this.multiplier);
  }
}

For more reading see:

Arrow Functions