Mechanism
Phương thức apply
có cách hoạt động giống như phương thức call Method in JS.
Tuy nhiên, đối số thứ hai mà phương thức apply
nhận vào là một mảng thay vì là nhiều tham số như phương thức call
.
Ví dụ:
Do tham số thứ hai là một mảng, ta có thể tận dụng điều này để triển khai tính kế thừa (Inheritance) gọn gàng hơn phương thức call
(tham khảo call Method in JS):
Trong mỗi hàm đều có đối tượng arguments
để chứa danh sách tham số, ta có thể truyền thẳng đối tượng này vào tham số thứ hai của phương thức apply
.
Ngoài ra, constructor của lớp Horse
cũng không cần phải liệt kê tham số, giúp code sạch đẹp hơn.
Summary
Cú pháp tổng quát:
apply(thisArg, [arg1, arg2, ...])
- Thực hiện bind từ khóa
this
với đối tượngthisArg
truyền vào.- Có thực hiện gọi hàm.
- Tham số thứ hai của phương thức
apply
là một mảng danh sách các tham số sẽ được truyền vào hàm gốc