Destructuring + Spread → Los restantes
Al hacer destructuring podemos utilizar también el operador spread para almacenar en una variable un grupo de elementos. Por ejemplo:
Almacenar en un array "el resto de argumentos" de una función
function printLn(prefix, suffix, ...rest) {
console.log(prefix, rest.join(" | "), suffix);
}
printLn("<line>", "</line>", "one", "two", "three");
// <line>one | two | three</line>
Guardar el primer elemento (o los primeros) y los restantes
const [first, second, ...rest] = [4, 7, 2, 5];
// first = 4, second = 7, rest = [2, 5]
Guardar el último elemento (o los últimos) y los restantes
const [ ...rest, prev, last ] = [9, 4, 7, 2];
// rest = [9, 4], prev = 7, last = 2
Y también con objetos:
Guardar un atributo (o varios) y los restantes
const error = { level: "log", method: "fetch", error: 404 };
const { level, ...details } = error;
console[level](details);
// { method: "fetch", error: 404 }
¡A ponerlo en práctica!
Ahora te propongo un pequeño ejercicio para practicar lo que hemos aprendido.
Top comments (0)