Function overloading xảy ra khi một hàm thực hiện tác vụ khác nhau dựa trên số lượng đối số truyền vào.
Best practice: Không kiểm tra kiểu (type) của tham số. Kiểm tra type làm code chậm và nên tránh. Thay vào đó, tham số cuối cùng nên là một object chứa các tùy chọn.
Cũng không nên kiểm tra arguments.length.
Ví dụ
function display(a, b, options) { }
display(30, 15, {"method": "subtract"});
display(70, 90, {"test": "equals", "val": "cost"});
Giải thích: Dùng options object (pattern phổ biến trong JS) thay vì overloading truyền thống. Dễ mở rộng, đọc hiểu, không phụ thuộc thứ tự tham số.