Hàm TypeScript
TypeScript có một cú pháp cụ thể để gõ các tham số hàm và trả về giá trị.
Đọc thêm về các chức năng ở đây .
Kiểu trả về
Loại giá trị được hàm trả về có thể được xác định rõ ràng.
Ví dụ
// the `: number` here specifies that this function returns a number
function getTime(): number {
return new Date().getTime();
}
Hãy tự mình thử »Nếu không có kiểu trả về nào được xác định, TypeScript sẽ cố gắng suy ra nó thông qua các kiểu biến hoặc biểu thức được trả về.
Kiểu trả về vô hiệu
Kiểu void
có thể được sử dụng để biểu thị hàm không trả về bất kỳ giá trị nào.
Thông số
Các tham số hàm được gõ với cú pháp tương tự như khai báo biến.
Nếu không có loại tham số nào được xác định, TypeScript sẽ mặc định sử dụng any
, trừ khi có thông tin loại bổ sung như được hiển thị trong phần Tham số mặc định và Bí danh loại bên dưới.
Được chứng nhận!
$45 ĐĂNG KÝ
Thông số tùy chọn
Theo mặc định, TypeScript sẽ cho rằng tất cả các tham số đều là bắt buộc, nhưng chúng có thể được đánh dấu rõ ràng là tùy chọn.
Ví dụ
// the `?` operator here marks parameter `c` as optional
function add(a: number, b: number, c?: number) {
return a + b + (c || 0);
}
Hãy tự mình thử »Thông số mặc định
Đối với các tham số có giá trị mặc định, giá trị mặc định sẽ nằm sau chú thích loại:
Ví dụ
function pow(value: number, exponent: number = 10) {
return value ** exponent;
}
Hãy tự mình thử »TypeScript cũng có thể suy ra loại từ giá trị mặc định.
Tham số được đặt tên
Việc gõ các tham số được đặt tên tuân theo cùng một mẫu như cách gõ các tham số thông thường.
Ví dụ
function divide({ dividend, divisor }: { dividend: number, divisor: number }) {
return dividend / divisor;
}
Hãy tự mình thử »Thông số nghỉ ngơi
Các tham số còn lại có thể được gõ như các tham số thông thường, nhưng loại phải là một mảng vì các tham số còn lại luôn là mảng.
Ví dụ
function add(a: number, b: number, ...rest: number[]) {
return a + b + rest.reduce((p, c) => p + c, 0);
}
Hãy tự mình thử »Nhập bí danh
Các loại hàm có thể được chỉ định riêng biệt với các hàm có bí danh loại.
Các loại này được viết tương tự như hàm mũi tên, đọc thêm về hàm mũi tên tại đây .
Ví dụ
type Negate = (value: number) => number;
// in this function, the parameter `value` automatically gets assigned the type `number` from the type `Negate`
const negateFunction: Negate = (value) => value * -1;
Hãy tự mình thử »