| | Function

Arrow function JavaScript

@
Arrow function là cách viết Function mới của JavaScript được giới thiệu ở ECMAScript 6… nó giúp code ngắn gọn hơn rất nhiều.
Nhưng nó không phải là để thay thế hoàn toàn cách viết Function cũ, vì nó không hỗ trợ các Function prototype đâu nhé.
Bạn chỉ nên sử dụng nó ở các Function callback hay các Function ngắn thôi nhé.

Ví dụ Arrow function, biến a và b là arrow function, còn biến c cách viết Function cũ.
var a = (a,b) => a + b;
var b = (a,b) => {return a + b};
//2 cách viết trên là arrow function, và cho ra kết quả giống nhau
var c = function(a,b){return a + b};
//c là cách viết Function cũ
var d = (b(1,1) == c(1,1));
//d == true

Ví dụ dùng Arrow function làm function callback:
function abc(fun){
return fun(6, 9);
}
abc((a, b) => {return alert(a + b)});
//code trên sẽ xuất hiện thông báo là: 15

Đối tượng “this” bên trong Arrow function:
Ngoài việc không hỗ trợ các Function prototype ra thì Arrow function còn có sự khác biệt về đối tượng this bên trong nó nữa.

Ví dụ Arrow function: với cách viết Function cũ thì thông thường đối tượng this bên trong sẽ là window, còn với Arrow function thì nó sẽ không thay đổi đối tượng this hiện tại.
var a = {};
a.a = function(){
setTimeout(function(){
alert(this);
}, 100)
};
a.b = function(){
setTimeout(() => {
alert(this);
}, 100)
};
a.a ();
//code trên sẽ xuất hiện thông báo là “[object Window]”
a.b ();
//code trên sẽ xuất hiện thông báo là “[object Object]”, chính là đối tượng a ở phía trên
  this.alter   ·   0   ·  
😂Smileys List   ·   ×