Hàm TypeScript: Cách sử dụng tham số và kiểu trả về
Hàm là khối xây dựng của bất kỳ ngôn ngữ lập trình nào và TypeScript tăng cường chúng bằng cách thêm tính an toàn kiểu. Bằng cách định nghĩa kiểu cho tham số và giá trị trả về, TypeScript cho phép các nhà phát triển viết mã đáng tin cậy và dễ bảo trì hơn. Hướng dẫn này sẽ giới thiệu cho bạn về hàm TypeScript, bao gồm cách sử dụng tham số và kiểu trả về hiệu quả.
Định nghĩa một hàm trong TypeScript
Trong TypeScript, các hàm có thể được định nghĩa bằng từ khóa function
, tương tự như JavaScript. Tuy nhiên, TypeScript cho phép bạn chỉ định loại tham số và giá trị trả về để tăng thêm tính an toàn và khả năng đọc.
Ví dụ về hàm cơ bản
Sau đây là ví dụ về hàm TypeScript cơ bản với các tham số được gõ và kiểu trả về:
function add(a: number, b: number): number {
return a + b;
}
const result = add(5, 3); // Output: 8
Trong ví dụ này, hàm add
chấp nhận hai tham số có kiểu number
và trả về giá trị có kiểu number
. Điều này đảm bảo cả đầu vào và đầu ra đều tuân thủ các kiểu mong đợi.
Tham số hàm trong TypeScript
Các hàm TypeScript có thể chấp nhận nhiều loại tham số khác nhau, chẳng hạn như tham số tùy chọn, mặc định và tham số còn lại. Hãy cùng khám phá từng loại chi tiết.
Tham số tùy chọn
Bạn có thể định nghĩa các tham số tùy chọn bằng cách thêm ?
sau tên tham số. Các tham số tùy chọn không cần phải được cung cấp khi hàm được gọi.
function greet(name: string, age?: number): string {
if (age) {
return `Hello, ${name}. You are ${age} years old.`;
} else {
return `Hello, ${name}.`;
}
}
console.log(greet("Alice")); // Output: Hello, Alice.
console.log(greet("Bob", 25)); // Output: Hello, Bob. You are 25 years old.
Trong ví dụ này, tham số age
là tùy chọn. Hàm này hoạt động chính xác bất kể age
có được cung cấp hay không.
Tham số mặc định
Tham số mặc định cho phép bạn chỉ định giá trị mặc định cho tham số trong trường hợp chúng không được cung cấp khi hàm được gọi.
function multiply(a: number, b: number = 2): number {
return a * b;
}
console.log(multiply(5)); // Output: 10
console.log(multiply(5, 3)); // Output: 15
Trong ví dụ này, tham số b
có giá trị mặc định là 2
. Nếu không cung cấp tham số thứ hai, 2
sẽ được sử dụng theo mặc định.
Tham số nghỉ ngơi
Tham số còn lại cho phép bạn truyền một số lượng đối số khác nhau cho một hàm. Chúng được định nghĩa bằng cú pháp ...
.
function sum(...numbers: number[]): number {
return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3, 4)); // Output: 10
console.log(sum(5, 10, 15)); // Output: 30
Trong ví dụ này, hàm sum
chấp nhận bất kỳ số lượng đối số nào, tất cả đều có kiểu number
và trả về tổng của chúng.
Kiểu trả về trong TypeScript
Việc chỉ định kiểu trả về của hàm cũng quan trọng như việc xác định kiểu tham số. Nó giúp TypeScript hiểu được đầu ra mong đợi của hàm, đảm bảo trả về đúng kiểu dữ liệu.
Chỉ định các loại trả về
Để chỉ định kiểu trả về của một hàm, hãy thêm dấu hai chấm :
theo sau là kiểu sau danh sách tham số.
function isEven(num: number): boolean {
return num % 2 === 0;
}
console.log(isEven(4)); // Output: true
console.log(isEven(5)); // Output: false
Trong ví dụ này, hàm isEven
trả về boolean
cho biết số đầu vào là chẵn hay không.
Các hàm không có kiểu trả về
Khi một hàm không trả về giá trị, kiểu trả về của nó là void
. Điều này hữu ích cho các hàm thực hiện hành động mà không cung cấp kết quả.
function logMessage(message: string): void {
console.log(message);
}
logMessage("Hello, TypeScript!"); // Output: Hello, TypeScript!
Trong ví dụ này, hàm logMessage
ghi nhật ký một thông báo vào bảng điều khiển và không trả về kết quả nào, do đó kiểu trả về là void
.
Phần kết luận
Các hàm TypeScript cung cấp một cách mạnh mẽ để viết mã an toàn kiểu bằng cách xác định các kiểu tham số và kiểu trả về. Bằng cách sử dụng các tham số tùy chọn, mặc định và còn lại, cũng như chỉ định các kiểu trả về, bạn có thể tạo các hàm mạnh mẽ và dễ bảo trì hơn. Bắt đầu sử dụng các hàm TypeScript trong các dự án của bạn để đảm bảo chất lượng và tính an toàn của mã tốt hơn.