Trong TypeScript, các tham số có thể được bỏ qua với điều kiện được kiểm tra khi sử dụng, ví dụ
function Mutiply(a: number, b: number, c?: number): number {
if (typeof c === "undefined") {
return a * b;
}
return a * b * c;
}
console.log(Mutiply(1, 2)); // 2
console.log(Mutiply(1, 2, 3)); // 6
Chúng ta có thể thấy ở function trên có tham số c có mang theo dấu ?, có nghĩa là c có thể có hoặc không có khi gọi function.
Tiếp theo trong thân của function chúng ta lại có câu lệnh typeof c === “undefined” dùng để kiểm tra nếu c không có sẽ chỉ dùng hai tham số a và b, ngược lại thì dùng cả ba.
Từ đó ta được kết quả khi không có c là 2 và khi có c là 6.
=> Lưu ý khi c được chỉ định bởi dấu ? thì buộc phải kiểm tra c
Tóm lại trong bài này ta có hai điểm chính:
Muốn dùng một optional params thì cần theo cú pháp params?:type
Muốn dùng một optional params thì phải kiểm tra params trước khi dùng bằng cú pháp typeof params === “undefined”