TypeScript hỗ trợ nạp chồng hàm (function overloading), cho phép bạn định nghĩa nhiều phiên bản của một hàm với các tham số khác nhau. Điều này có nghĩa là bạn có thể tạo ra nhiều định nghĩa cho cùng một hàm, mỗi định nghĩa có kiểu tham số và kiểu trả về khác nhau. TypeScript sẽ xác định phiên bản hàm nào nên được gọi dựa trên các tham số mà bạn truyền vào.
Để sử dụng nạp chồng hàm, bạn cần thực hiện các bước sau:
Dưới đây là một ví dụ về nạp chồng hàm trong TypeScript:
// Định nghĩa các signature cho hàm add function add(a: number, b: number): number; function add(a: string, b: string): string; function add(a: number, b: string): string; function add(a: string, b: number): string; // Cài đặt hàm add function add(a: any, b: any): any { return a.toString() + b.toString(); } // Sử dụng hàm console.log(add(5, 10)); // Kết quả: "15" console.log(add("Hello, ", "World!")); // Kết quả: "Hello, World!" console.log(add(5, " apples")); // Kết quả: "5 apples" console.log(add("10", 20)); // Kết quả: "1020"
add
, mỗi phiên bản với kiểu tham số khác nhau.add
được cài đặt chỉ một lần với tham số any
, cho phép nó xử lý tất cả các kiểu tham số đã định nghĩa.add
, TypeScript sẽ xác định phiên bản nào được gọi dựa trên các tham số mà bạn đã truyền vào.Nạp chồng hàm trong TypeScript là một tính năng mạnh mẽ cho phép bạn định nghĩa nhiều phiên bản cho cùng một hàm, mỗi phiên bản với kiểu tham số và kiểu trả về khác nhau. Điều này giúp tăng cường khả năng đọc mã, giảm thiểu lỗi, và mang lại tính linh hoạt cho ứng dụng của bạn. Bằng cách sử dụng nạp chồng hàm một cách hợp lý, bạn có thể cải thiện chất lượng và tính bảo trì của mã nguồn.