Arrow function không chỉ là cú pháp ngắn — nó khác function thường ở bốn điểm:
this: arrow không cóthisriêng — nó lấythistừ scope bao quanh lúc định nghĩa (lexical) và không đổi được bằngcall/apply/bind. Function thường cóthisxác định theo cách gọi (qua object,new, standalone...).arguments: arrow không có objectargumentsriêng — dùng rest parameter(...args)thay thế.- Constructor: arrow không dùng được với
new(không cóprototype, không phải constructor). - Hoisting: function declaration được hoist đầy đủ nên gọi được trước dòng khai báo; arrow gán vào
const/letnằm trong temporal dead zone — dùng trước khi khai báo sẽ ném lỗi.
Thực hành: arrow hợp với callback ngắn và code trong class/component muốn giữ this bên ngoài; tránh dùng arrow cho method của object literal hoặc handler cần this là element — vì this sẽ không trỏ vào đối tượng mong muốn.