Arrow function
- The arrow functions are work same as with normal functions. It was introduce in ES6.
- Syntax const variable = () => {}
Ex
var foo = _ => 'Hii';It's same as
function name(params) {
return 'Hii';
}These arrow functions are make eassy our work and readablity.
-
Normal function
var foo = function(name) { return function(age) { return function(city) { return${name} ${age} ${city}} }
}
-
Arrow function
var foo = (name) => (age) => (city) =>${name} ${age} ${city};
Difference between normal and arrow functions.
var name = "Mike";
var obj = {
name: "Tom",
foo: function() {
console.log(this);
var bar1 = function() {
console.log(this.name); // Point to Window(Parent)
}
var bar2 = () => {
console.log(this.name); // Point to current Object
}
bar1();
bar2();
}
}
obj.foo();
// If we not use var it point to parent
var bar = () => {
var x= "sad";
let y= "sasa";
console.log(this.x); // Window // undefined
console.log(this.y); // sasa
}
bar();
Why we need Arrow function.
- Arrow functions cannot called with Constructer.
- Arrow functions are not having their own this. So, we cannot update using this.
- Whenever we use this inside the arrow function it will check parent, until not find parent.
- Arrow alway have lasical scope.
When use it.
- Use arrow function only when you have to use parent's this.
- Use only when we need it, according to requirenment.
Not use.
- It has not thier own this so we can not call it as a Constructor
Top comments (0)