Arrow Function:
Ngắn gọn, không cần function hoặc return (nếu là biểu thức 1 dòng).
Function Thông Thường:
Arrow Function:
Không có this riêng. this được kế thừa từ phạm vi cha (lexical scope).
Ví dụ:
Function Thông Thường:
Có this riêng, phụ thuộc vào ngữ cảnh gọi.
Ví dụ:
Arrow Function:
Không có arguments riêng. Muốn truy cập, dùng rest parameters:
Function Thông Thường:
Có đối tượng arguments chứa tất cả tham số:
Arrow Function:
Không thể dùng làm constructor (gây lỗi nếu dùng new):
Function Thông Thường:
Có thể dùng làm constructor:
Arrow Function:
Không có prototype (vì không dùng làm constructor được).
Function Thông Thường:
Có thuộc tính prototype để kế thừa.
Arrow Function:
Không thể dùng super, và không thể rebind this qua bind/call/apply.
Function Thông Thường:
Có thể dùng super (trong class) và rebind this.
Đặc điểm | Arrow Function | Function Thông Thường |
---|---|---|
this | Lexical scope | Dynamic context |
arguments | Không có | Có |
Dùng new | Không | Có |
prototype | Không | Có |
Cú pháp | Ngắn gọn | Truyền thống |
Phù hợp | Callback, closure | Constructor, phương thức object |