Giới thiệu về Function Types
Một function có hai phần chính: parameters và kiểu trả về. Khi khai báo một function type, bạn cần xác định cả hai phần theo một cú pháp như sau
(paramter1:type, parameter2: type,...)=>type
Đoạn code bên trên được gọi là function type
Bây giờ chúng ta sẽ tạo ra một ví dụ cụ thể
// Case 1
let sum: (a: number, b: number) => number;
sum = function (x: number, y: number): number {
return x + y;
};
//Case 2
let minus: (a: number, b: number) => number = function (x: number, y: number) {
return x - y;
};
console.log(sum(1, 2)); // 3
console.log(minus(2, 1)); // 1
Trong ví dụ trên
Trường hợp 1:
variable tên là sum
(a: number, b: number) => number; là function type
sau đó chúng ta có thể gán sum cho một function cụ thể và tuân thủ theo function type
Trường hợp 2: cũng giống như trường hợp 1 nhưng sẽ trực tiếp gán vào trong lúc khai báo function type
Inferring function types
TypeScript có thể tự suy luận kiểu function type khi bạn gán trực tiếp một function phía sau một variable, ví dụ
let multi = function(x:number, y:number):number{
return x*y;
}
Khi chúng ta gán trực tiếp như thế này thì trình biên dịch hiểu rằng multi có kiểu function type là hai tham số tới kiểu number và trả về giá trị number. Bạn có thể xem được trên VS code khi rê chuột vào multi.