Novedades de ECMAScript 9: Regex y Spread Operator en JavaScript
Clase 22 de 35 • Curso de ECMAScript: Historia y Versiones de JavaScript
Contenido del curso
- 4

Características de ECMAScript 6 para JavaScript Moderno
15:30 - 5

Template Literals y Multilínea en ECMAScript 6
08:11 - 6

Asignación de Parámetros por Defecto en ECMAScript 6
05:46 - 7

Desestructuración de Arrays y Objetos en JavaScript ECMAScript 6
05:33 - 8

Uso del Operador de Propagación y Parámetros Rest en JavaScript
07:30 - 9
Playground: Combina objetos JSON con el Spread Operator
00:00 - 10

Asignación y manejo de objetos en ECMAScript 6
05:42 - 11

Promesas en JavaScript: Manejo del Asincronismo con ECMAScript 6
08:10 - 12

Clases y Herencia en JavaScript: Sintaxis y Aplicaciones
18:54 - 13

Uso de Módulos en JavaScript ES6
09:48 - 14
Playground: Obtén una lista de películas
00:00 - 15

Generators en JavaScript: Cómo implementar y usar iteradores personalizados
07:19 - 16
Playground: Generador de identificadores para michis
00:00 - 17

Método ADD en ECMAScript 6: Agregando Elementos a un Set
04:36
La siguiente versión de ECMAScript fue publicada en 2018. Las características de ES9 o ES2018 que aprenderás son: expresiones regulares y propiedades de propagación.
Expresiones regulares
Las expresiones regulares o RegEx (regular expresions) son patrones de búsqueda y manipulación de cadenas de caracteres increíblemente potente y están presentes en todos los lenguajes de programación.
En JavaScript se crea este patrón entre barras inclinadas (/patrón/) y se utiliza métodos para hacer coincidir la búsqueda.
const regexData = /([0-9]{4})-([0-9]{2})-([0-9]{2})/
const match = regexData.exec('2018-04-20')
Este es un tema extenso, por lo que te recomiendo seguir el curso y leer los métodos sobre expresiones regulares en JavaScript:
Propiedades de propagación
Las propiedades de propagación consisten en expandir las propiedades de un objeto utilizando el spread operator. Sirve para crear nuevos objetos a partir de otros.
const objeto = {
nombre: "Andres",
age: 23,
}
const usuario = {
...objeto,
plataforma: "Platzi"
}
Crear copias de objetos utilizando las propiedades de propagación
Semejante a crear copias de arrays utilizando el operador de propagación, se puede realizar copias de objetos en un solo nivel mediante las propiedades de propagación.
De esta manera el segundo objeto tendrá una referencia en memoria diferente al original.
const objetoOriginal = {a: 1, b: 2}
const objetoReferencia = objetoOriginal
const objetoCopia = {...objetoOriginal}
objetoReferencia === objetoOriginal // true
objetoOriginal === objetoCopia // false
Cuidado con la copia en diferentes niveles de profundidad
El operador de propagación sirve para crear una copia en un solo nivel de profundidad, esto quiere decir que si existen objetos o arrays dentro de un objeto a copiar. Entonces los sub-elementos en cada nivel, tendrán la misma referencia en la copia y en el original.
const original = { datos: [1, [2, 3], 4, 5] }
const copia = { ...original }
original === copia // false
original["datos"] === copia["datos"] // true
La manera de solucionar esto es más compleja, tendrías que utilizar el operador de propagación para cada elemento en cada nivel de profundidad.
Sin embargo, recientemente salió una forma de crear una copia profunda con StructuredClone. Aunque es una característica muy reciente, así que revisa que navegadores tienen soporte.
const original = { datos: [1, [2, 3], 4, 5] }
const copia = structuredClone(original)
original === copia // false
original["datos"] === copia["datos"] // false
Contribución creada por Andrés Guano (Platzi Contributor).