Các hàm Arrow và các giá trị tham số trong Javascript (phần 2)

Các hàm Arrow và các giá trị tham số trong Javascript (tiếp tục)

Ảnh dưới cung cấp các ví dụ khác so sánh các khai báo hàm với hàm arrow của chúng tương ứng.
Ngoài sự khác nhau trong cú pháp, các hàm arrow khác so với các khai báo hàm trong từ khoá this
được xử lí như thế nào. Trong các khai báo hàm, từ khoá this trả về object cái gọi hàm, cái có thể
là window object, document object, hay một page object, giữa những thứ khác. Với các hàm arrow từ khoá
this luôn trả về object cái định nghĩa hay sở hữu hàm. Vì vậy, các hàm arrow không có this của bản
thân chúng, chúng luôn lấy ý nghĩa từ bối cảnh bên ngoài.
Bạn có thể thấy rằng các hàm arrow rắm rối trước tiên, nhưng với thực hành bạn sẽ có thể viết chúng dễ
dàng như các khai báo hàm.

hàm arrow
Thực hành tốt nhất: khi nào sử dụng và không sử dụng các hàm arrow

Các hàm arrow có thể làm code bạn ngắn gọn hơn, tuy nhiên, chúng không thay thế hoàn toàn các khai báo
hàm hay các cú pháp hàm. Sau đây là các tình huống nơi các hàm arrow sẽ không phù hợp:
+ Không sử dụng các hàm arrow nếu chúng làm cho mã của bạn khó biên dịch và gỡ lỗi hơn. Nhỏ gọn không
phải luôn là một đức tính.
+ Vì các hàm arrow không có giá trị this riêng nên chúng không nên được sử dụng với event handler khi
giá trị this là cần thiết.
+ Ngoài ra, vì các hàm arrow không có giá trị this riêng nên chúng cũng không được sử dụng để định nghĩa
các phương thức object hoặc các phương thức cho các object classes. Thay vào đó hãy sử dụng các khai báo hàm.
+ Các khai báo hàm hỗ trợ object đối số cái tham chiếu tất cả các đối số được sử dụng trong hàm.
Hàm arrow hoạt động tốt nhất với các hàm có ít câu lệnh. Tiện ích của chúng bị giảm đối với các hàm mở rộng cái bao gồm một số phát biểu.

Chia sẻ