Hola!
En este artículo vamos a ver el uso del spread operator para pasar un array a una lista de argumentos. Esto puede ser muy útil en casos donde tenemos que pasar una lista de argumentos (no un array) a un método/función.
Antes de comenzar es importante resaltar el spread operator fue incluido en la nueva versión de Javascript ES6 y ya funciona en todos los navegadores.
📍 Revisa la nueva escuela de JavaScript
Comencemos!
let numeros = [4, 16, 25, 2, 45, 8];
let numeroMayor = Math.max(numeros);
console.log(numeroMayor); // NaN
Observamos que el valor de la variable numeroMayor es NAN, esto es porque el método max() puede recibir una lista de argumentos y no le podemos pasar un array.
Entonces podríamos hacer los siguiente:
let numeroMayor = Math.max(4, 16, 25, 2, 45, 8);
console.log(numeroMayor); // 45
Ahora sí podemos acceder al número más alto de la lista de argumentos. De todos modos podemos mejorar este código gracias al spread operator.
Veamos cómo hacerlo!
let numeros = [4, 16, 25, 2, 45, 8];
let numeroMayor = Math.max(...numeros);
console.log(numeroMayor); // 45
Al anteponer los tres puntos que representan al spread operator transformamos la variable numeros (que en el ejemplo representa un array con números) en una lista de argumentos, y es por ello que podemos acceder al número mayor del array numeros. Es como si le quitáramos los corchetes ( “[]” ) al array.
let numeros = [10, 4, 7, 15, 3, 25];
console.log(numeros); // Imprime un array.
console.log(...numeros); // Imprime una lista de argumentos.
En los próximos días estaré escribiendo otro artículo donde explico en uso del spread operator para concatenar múltiples arrays.
Espero que hayan comprendido este ejemplo y comiencen a implementar este nuevo feature de ES6 en sus proyectos!
Saludos!
Esta misma nota también la pueden encontrar en mi cuenta de medium.
Fundamentos de JavaScript 2017