Volver a Funciones
Funciones — Leccion 4
·15 minRest Parameters
Recibe un numero indefinido de argumentos.
Rest parameters
Usa ... para recibir múltiples argumentos cómo un array.
typescript
function sumar(...numeros: number[]): number {
return numeros.reduce((total, n) => total + n, 0);
}
sumar(1, 2, 3); // 6
sumar(1, 2, 3, 4, 5); // 15
Con otros parámetros
typescript
function crearMensaje(prefijo: string, ...mensajes: string[]): string {
return `${prefijo}: ${mensajes.join(", ")}`;
}
crearMensaje("Error", "Conexión", "Timeout");
// "Error: Conexión, Timeout"
Spread vs Rest
typescript
// REST: recibe argumentos cómo array
function sumar(...nums: number[]): number {
return nums.reduce((a, b) => a + b, 0);
}
// SPREAD: expande un array cómo argumentos
const numeros = [1, 2, 3];
sumar(...numeros); // sumar(1, 2, 3)
Ejemplo práctico
typescript
interface Producto {
nombre: string;
precio: number;
}
function calcularTotal(...productos: Producto[]): number {
return productos.reduce((total, p) => total + p.precio, 0);
}
function log(...items: (string | number)[]): void {
console.log(items.join(" | "));
}
log("Inicio", 1, "Medio", 2, "Fin");
// "Inicio | 1 | Medio | 2 | Fin"
Ejercicio pratico
Crea una función 'promedio' que reciba any cantidad de numeros y retorne el promedio.
exercise.ts
Loading...
Resultado
Haz clic en "Ejecutar" para ver el resultado...