Contenido del curso

¿Qué se implementó en ES6?

Regex y spread operator en ES9

Resumen

ECMAScript 9, lanzado en junio de 2018, sumó mejoras que cambian la forma en que trabajas con expresiones regulares y objetos en JavaScript. Si quieres entender cómo capturar grupos en un regex y cómo usar el spread operator con objetos, esta guía es para ti.

Qué aporta ECMAScript 9 al desarrollo en JavaScript

Cada año, JavaScript suma características que hacen el lenguaje más expresivo y manejable. La versión ES9 trae dos protagonistas que vale la pena dominar: la captura de grupos en expresiones regulares y la extensión del operador de propagación a objetos.

¿Cuándo salió ECMAScript 9? En junio de 2018, como una de las actualizaciones anuales del estándar de JavaScript.

Cómo funciona la captura de grupos en regex con ES9

Las expresiones regulares ya permitían validar cadenas, pero ES9 mejora cómo accedes a los fragmentos que coinciden con cada parte del patrón. Ahora puedes capturar valores en grupos y trabajarlos por separado.

Imagina que tienes un regex para validar fechas con formato cuatro dígitos para el año, dos para el mes y dos para el día, separados por guiones. Con ES9 puedes ejecutar ese patrón sobre un string como '2022-01-01' y recuperar cada fragmento de forma estructurada [01:50].

javascript const regex = /([0-9]{4})-([0-9]{2})-([0-9]{2})/; const match = regex.exec('2022-01-01'); console.table(match);

Al ejecutar exec, obtienes el match completo y cada grupo capturado por separado. Y aquí viene un truco útil: en lugar de console.log, usa console.table para visualizar el resultado como tabla en consola, con índice, input y los grupos detectados [02:55].

Por qué importa capturar grupos

Capturar grupos te permite extraer datos puntuales sin recorrer el string manualmente. Es ideal cuando trabajas con fechas, identificadores o cualquier formato estructurado que necesites descomponer.

¿Qué hace regex.exec() en JavaScript? Ejecuta el patrón sobre un string y devuelve un arreglo con la coincidencia completa y cada grupo capturado, más metadatos como el índice y el input original.

Cómo usar spread y rest con objetos en ECMAScript 9

Ya conocías el spread operator con arreglos. ES9 lo lleva al siguiente nivel: ahora puedes usar ... también con objetos para copiar y propagar sus claves [04:20].

Mira este ejemplo. Tienes un objeto user con tres propiedades:

javascript const user = { username: 'gndx', age: 34, country: 'CO' };

Con ES9 puedes extraer una propiedad específica y mandar el resto a otra variable usando rest:

javascript const { username, ...values } = user; console.log(username); // 'gndx' console.log(values); // { age: 34, country: 'CO' }

Aquí, username queda aislado y todo lo demás se propaga dentro de values. La sintaxis es la misma que ya usabas con arreglos, pero ahora aplicada a las claves de un objeto [05:40].

Cuándo conviene usar spread en objetos

Este patrón brilla cuando necesitas:

  • Separar una propiedad concreta del resto de un objeto.
  • Crear copias de objetos sin mutar el original.
  • Combinar varios objetos en uno solo.
  • Pasar props filtradas en frameworks como React.

¿Qué diferencia hay entre rest y spread en objetos? Rest recoge las propiedades restantes en una nueva variable durante la desestructuración. Spread expande las propiedades de un objeto dentro de otro al construirlo.

Qué habilidades refuerza ECMAScript 9 en tu código

Entender estas dos características te da herramientas concretas para escribir código más limpio:

  • Manejo de expresiones regulares: validar formatos y extraer datos sin recorrer strings manualmente.
  • Desestructuración avanzada: separar propiedades específicas y agrupar el resto con rest.
  • Manipulación de objetos inmutable: crear copias y combinaciones sin alterar la referencia original.
  • Depuración con console.table: visualizar arreglos y objetos como tablas en consola para inspeccionar resultados rápido.

Dominar estos recursos te prepara para transformar datos, trabajar con APIs y mantener tu lógica organizada cuando los objetos crecen en complejidad.

¿Ya estás usando rest con objetos en tus proyectos? Cuéntame en los comentarios qué caso de uso te resultó más útil.