Contenido del curso
Configuracion
¿Qué se implementó en ES6?
- 4

let, const y arrow functions en ES6
15:29 min - 5

Template literals en JavaScript ES6
08:11 min - 6

Parámetros por defecto en funciones ES6
05:46 min - 7

Desestructuración de arrays y objetos en JavaScript
05:33 min - 8

Spread y rest parameters en JavaScript
07:30 min - 9

Playground: Combina objetos JSON con el Spread Operator
- 10

Object literals abreviados en ES6
05:42 min - 11

Promesas en JavaScript con resolve y reject
08:09 min - 12

Clases en JavaScript con getters y setters
18:54 min - 13

Módulos en JavaScript con import y export
09:48 min - 14

Playground: Obtén una lista de películas
- 15

Generators en JavaScript: control del estado
07:19 min - 16

Playground: Generador de identificadores para michis
- 17

Método add() y encadenamiento en Sets JS
04:36 min
¿Qué se implementó en ES7?
¿Qué se implementó en ES8?
¿Qué se implementó en ES9?
¿Qué se implementó en ES10?
¿Qué se implementó en ES11?
¿Qué se implementó en ES12?
¿Qué se implementó en ES13?
Recapitulación
catch opcional y Object.fromEntries en ES10
Resumen
ECMAScript 10 trajo dos mejoras prácticas que cambian la forma en que manejas errores y transformas datos en JavaScript: el catch con parámetro opcional y el método Object.fromEntries. Si trabajas con APIs, validaciones o transformaciones de objetos, estas características te van a ahorrar líneas y dolores de cabeza.
¿Cómo funciona el catch opcional en ECMAScript 10?
Antes, cada vez que escribías un bloque try...catch estabas obligado a recibir el parámetro de error, aunque no lo usaras. Desde ES10, ese parámetro es opcional, lo que te permite escribir un catch más limpio cuando solo te interesa ejecutar lógica personalizada.
La sintaxis tradicional se ve así:
js try { hello(); } catch (error) { console.log(error); }
Al ejecutar ese bloque, JavaScript lanza un ReferenceError: 'hello' is not defined porque la función no existe. El motor entra al catch y muestra el detalle del error.
Con la nueva sintaxis puedes omitir el parámetro:
js try { anotherFn(); } catch { console.log('Esto es un error'); }
Aquí ya no recibes el objeto de error, sino que muestras un mensaje personalizado. Útil, pero con una advertencia importante.
¿Cuándo conviene usar catch sin parámetro? Solo cuando no necesitas inspeccionar el error. Si lo omites, pierdes información valiosa como el tipo de error, la traza y el mensaje original, lo que dificulta el debugging.
¿Por qué deberías tener cuidado con el catch opcional?
El error que recibes por defecto te dice exactamente qué pasó: errores de sintaxis, errores de referencia o cualquier otra categoría dentro del manejo de errores de JavaScript. Si lo personalizas sin más, solo sabrás que algo falló, no qué falló. Por eso, este patrón se recomienda para casos muy puntuales, como cuando ya validaste el contexto y solo te interesa una respuesta genérica.
¿Qué hace Object.fromEntries y por qué es útil?
Object.fromEntries hace lo contrario a Object.entries: toma un array de arrays (o un Map) y lo convierte en un objeto. Es la pieza que faltaba para cerrar el ciclo de transformación entre objetos y arrays.
¿Qué es Object.fromEntries? Es un método de ES10 que convierte una estructura tipo
[['clave', 'valor']]en un objeto{clave: 'valor'}. Es la operación inversa deObject.entries.
Mira el ejemplo paso a paso. Primero defines un Map o un array de pares clave-valor:
js const entries = new Map([ ['name', 'Oscar'], ['age', 34] ]);
console.log(entries); console.log(Object.fromEntries(entries));
Al correr el código, el primer console.log te muestra el Map con su estructura interna. El segundo te devuelve el objeto transformado:
js { name: 'Oscar', age: 34 }
¿En qué casos reales aplicas esta transformación?
Este tipo de conversiones aparecen todo el tiempo cuando consumes datos externos. Algunos escenarios típicos:
- Respuestas de una API que llegan como array de arrays y necesitas convertirlas en objetos para renderizarlas.
- Datos extraídos de un
FormDataoURLSearchParams, que ya vienen en formato de pares clave-valor. - Transformaciones intermedias donde primero usas
Object.entriespara filtrar o mapear, y luego reconstruyes el objeto conObject.fromEntries. - Estructuras profundas que vas a guardar en una base de datos y requieren un formato específico.
La idea es que dominar estos métodos te hace más eficiente al aplicar reglas, validar datos y mover información entre formatos sin escribir bucles manuales.
¿Cómo combinar try catch y fromEntries en flujos reales?
Imagina que recibes datos de una API y necesitas transformarlos. Envuelves la transformación en un try...catch para capturar errores de parsing, y usas Object.fromEntries dentro del try para convertir la respuesta. Si algo falla, decides si quieres el error completo (parámetro tradicional) o un mensaje genérico (catch opcional).
Esa combinación te da código más expresivo y enfocado en la intención, no en el ruido sintáctico. ¿Has usado estas características en algún proyecto? Cuéntame en los comentarios cómo las aplicaste.