El operador REST
El operador REST (...) en JavaScript es una herramienta útil que permite trabajar con un número indefinido de argumentos en funciones o elementos en arrays. Se introdujo en ES6 (ECMAScript 2015) y facilita la manipulación de grupos de elementos de manera más sencilla y clara.
1. Cómo funciona el Operador REST? #
El operador REST se coloca delante de una variable en la declaración de una función o en la desestructuración de un array. Agrupa el resto de los argumentos o elementos en un array.
Sintaxis básica:
1function nombreDeFuncion(...resto) { 2 // 'resto' es un array que contiene todos los argumentos restantes 3}
Uso del Operador REST en Funciones #
En una función, el operador REST permite que la función acepte un número indefinido de argumentos, que se agrupan en un array.
Ejemplo:
1function sumar(...numeros) { 2 let total = 0; 3 for (let num of numeros) { 4 total += num; 5 } 6 return total; 7} 8 9console.log(sumar(1, 2, 3)); // Muestra 6 10console.log(sumar(4, 5, 6, 7)); // Muestra 22Salida de consola 6 22
En este ejemplo:
- La función
sumarusa el operador REST (...numeros) para capturar todos los argumentos pasados a la función. numerosse convierte en un array que contiene todos los argumentos.
Uso del Operador REST en Desestructuración de Arrays #
El operador REST también se puede usar para capturar el resto de los elementos de un array al desestructurarlo.
Ejemplo:
1let [primero, segundo, ...resto] = [10, 20, 30, 40, 50]; 2 3console.log(primero); // Muestra 10 4console.log(segundo); // Muestra 20 5console.log(resto); // Muestra [30, 40, 50]Salida de consola 10 20 [ 30, 40, 50 ]
En este ejemplo:
[primero, segundo, ...resto]desestructura el array original.primerotoma el valor10,segundotoma el valor20, yrestocaptura el resto de los elementos ([30, 40, 50]) en un array.
Resumen del tema
Conceptos clave #
- Operador Rest (
...): agrupa o recolecta múltiples elementos dispersos en una única estructura array. - Parámetros Rest en Funciones:
function fn(a, b, ...resto) {}captura cualquier argumento adicional posicional. Debe colocarse siempre como el último parámetro de la función. - Desestructuración con Rest: permite extraer elementos iniciales y empaquetar el remanente en arrays (
const [primero, ...demas] = lista) u objetos (const { id, ...restoProps } = objeto).
Qué debes recordar #
El operador Rest (...) agrupa los elementos restantes en un array real y debe situarse obligatoriamente al final de la lista de parámetros o variables de desestructuración.