Wednesday, October 9, 2024
HomeLập Trình TypeScriptRest Parameters | Lập Trình TypeScript

Rest Parameters | Lập Trình TypeScript

Rest parameter cho phép một function để chấp nhận một đối đố zero hoặc nhiều hơn một đối số của một kiểu đặc biệt. Trong TypeScript, rest parameter tuân thủ theo các quy tắt sau:
– Một Function chỉ có một rest parameter
– Rest parameter xuất hiện ở vị trí cuối cùng của danh sách parameter
– Kiểu của rest parameter là một kiểu mảng (array)

Rest Parameter có thể là một kiểu đơn hoặc một kiểu union

Cú pháp

TypeScript
function functionName(...restParameter: type[]) // Single type
{
//...
}
function functionName(...restParameter: (type1|type2)[]) // Union type
{
//...
}

Ví dụ về tham số rest:

Kiểu đơn

TypeScript
let greeting = function (...mess: string[]): string {
  let showMess = "";
  mess.forEach((str) => (showMess += str));
  return showMess;
};
console.log(greeting("Hello", " world !")); // Hello world !

Ví dụ trên chỉ có một tham số rest là mess có kiểu string[] và kiểu trả về là string, chương trình sẽ duyệt qua mảng đầu vào sau đó ghép lại với nhau để in ra được một chuổi có nội dung là Hello world !

Kiểu union

TypeScript
let sum: (title: string, ...a: (number | string)[]) => (number | string)[];
sum = function (title, ...a) {
  let total = 0;
  let message = "";
  a.forEach((x) => {
    if (typeof x === "string") {
      message += x;
    } else if (typeof x === "number") {
      total += x;
    }
  });
  return [title, total, message];
};
result = sum(
  "Rest parameters with multiple types",
  10,
  "Hello",
  54,
  " world !"
);
console.log(result); // [ 'Rest parameters with multiple types', 64, 'Hello world !' ]

Ví dụ bên trên khai báo một function type có một tham số là string có tên title và một tham số là rest number có tên là a và có kiểu trả về và union (number|string). Sau đó gán function tương đương vào sum với mục đích cộng các phần tử trong tham số rest (là một mảng) và sẽ cộng theo điều kiện number và string riêng biệt, sau đó trả về một mảng mới có kiểu union là [title, total, message]. In kết quả ta sẽ thu được mảng: [ ‘Rest parameters with multiple types’, 64, ‘Hello world !’ ]

Tóm tắt

– Dùng rest parameter để cho phép một function chấp nhận một lượng đối số có thể thay đổi cùng hoặc khác kiểu
– Rest có thể chấp nhận một kiểu đơn hoặc một kiểu union, với kiểu đơn thì các phần tử cùng kiểu và union thì các phần thử có thể khác kiểu.

Nguyễn Minh Châu
Nguyễn Minh Châuhttps://nhatkydev.com
Hi guys ! I'm a software developer. I love programming and new technologies. I create non-professional content on this website, you can only view it for reference purposes.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular