Parámetro REST
El parámetro REST es una forma virtualmente de ir agregando parámetros infinitos a una función o dentro de una variable.
Para definir parámetros REST, únicamente hay que hacerlo anteponiendo tres puntos (suspensivos) antes del nombre en el cual están guardados estos posibles valores infinitos. En librerías reactivas y frameworks se va a ver muy a menudo este tipo de parámetro.
Ejm
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Parámetros REST & Operador Spread</title>
</head>
<body>
<h1>Parámetros REST & Operador Spread</h1>
<script>
// REST
function sumar(a, b, ...c) {
let resultado = a + b;
c.forEach(function (n) {
resultado += n;
});
return resultado;
}
console.log(sumar(1, 1));
console.log(sumar(2, 3));
console.log(sumar(2, 3, 4));
console.log(sumar(2, 3, 4, 10));
</script>
</body>
</html
Operador de progagación o Spread Operator
Cuando una expresión se tenga que expandir en situaciones donde haya múltiples argumentos o elementos, se puede utilizar este tipo de operadores. Un caso muy útil es un array con cierto número de elementos, pero en cierto momento recibimos nuevos parámetros, por lo que en lugar de estar haciendo concatenaciones o push a nuestros arrays, lo que podemos hacer es agregar con el Spread Operator, que utiliza los tres puntos (…).
Ejm
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Spread Operator</title>
</head>
<body>
<h1>Spread Operator</h1>
<script>
const array1 = [1, 2, 3, 4, 5],
array2 = [6, 7, 8, 9, 0];
console.log(array1, array2);
const array3 = [array1, array2];
console.log(array3);
// USO DEL SPREAD OPERATOR
const array4 = [...array1, ...array2];
console.log(array4);
</script>
</body>
</html>