28
votes

I have seen some functions defined as function(){} and some functions defined as () => {}.

Is this related to Javascript version ES6?

Also, how does use of this keyword change from one function definition to another?

1
() => {} is called an arrow function. Here are the docs: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Rocket Hazmat
A good in-depth article on normal functions vs. arrow functions: hacks.mozilla.org/2015/06/es6-in-depth-arrow-functionsWavesailor

1 Answers

33
votes

The () => {} is called an arrow function. They are, as you said, part of ES6. From the linked page:

An arrow function expression has a shorter syntax compared to function expressions and lexically binds the this value (does not bind its own this, arguments, super, or new.target). Arrow functions are always anonymous.