TypeScript ... 解释三个点的含义
三个点(...)在TypeScript中是Rest运算符,它允许函数接收数量不定的参数,并且可以将它们转换为数组。
解决方案1:在函数参数中使用Rest运算符
function sum(...numbers: number[]): number {
let total = 0;
for (let num of numbers) {
total += num;
}
return total;
}
console.log(sum(1, 2, 3)); // 输出:6
在上述代码中,我们定义了一个名为sum的函数,该函数接收不定数量的数字,并使用Rest运算符(...numbers)将它们作为数组接收。然后,我们计算并返回所有数字的总和。
解决方案2:在展开运算符中使用Rest运算符
let numbers = [1, 2, 3, 4];
let max = Math.max(...numbers);
console.log(max); // 输出:4
在上述代码中,我们定义了一个名为numbers的数组,并使用Rest运算符(...numbers)将其展开为单个参数序列,然后传递给Math.max函数,从而找出数组中的最大值。
解决方案3:在构造函数中使用Rest运算符
class Animal {
constructor(public name: string) { }
}
class Dog extends Animal {
constructor(public breed: string, ...args: any[]) {
super(...args);
}
}
let dog = new Dog("Labrador", "Rex");
console.log(dog.name); // 输出:Rex
console.log(dog.breed); // 输出:Labrador
在上述代码中,我们定义了一个名为Animal的基类和一个继承自Animal的名为Dog的子类。在Dog的构造函数中,我们使用Rest运算符(...args)来接收所有传递给构造函数的额外参数,并将它们作为数组传递给超类的构造函数。
以上就是Rest运算符的几种常见用法。
评论已关闭