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
Viendo ahora - 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
Object literals abreviados en ES6
Resumen
Si vienes escribiendo objetos en JavaScript repitiendo user: user, age: age, hay una forma más limpia de hacerlo. Con object literals de ECMAScript 6 puedes devolver objetos sin duplicar nombres, lo que vuelve tu código más legible y rápido de mantener, especialmente cuando trabajas con funciones que retornan datos.
¿Qué cambia al retornar un objeto en ES6?
La propuesta original de ECMAScript 5 te obligaba a asignar cada propiedad de forma explícita aunque el nombre coincidiera con la variable. ES6 te permite omitir esa redundancia cuando la key y el valor tienen el mismo nombre.
Mira cómo se veía la versión tradicional dentro de una función newUser:
js function newUser(user, age, country) { return { user: user, age: age, country: country }; }
Y así queda con la mejora de ES6, mucho más limpia:
js function newUser(user, age, country, uid) { return { user, age, country, id: uid }; }
¿Qué son los object literals en ES6? Son una forma abreviada de crear objetos donde, si la propiedad y la variable tienen el mismo nombre, escribes el nombre una sola vez en lugar de repetirlo como
clave: valor.
¿Cuándo conviene renombrar una propiedad al asignarla?
No siempre vas a recibir un parámetro con el mismo nombre que quieres exponer en tu objeto. Imagina que tu función recibe un uid desde una API externa, pero internamente prefieres exponer la propiedad como id. Ahí sí necesitas la asignación explícita: id: uid.
Esta flexibilidad te permite mezclar ambos estilos en un mismo return. Las propiedades que coinciden en nombre las dejas abreviadas, y las que necesitan transformación las asignas con la sintaxis clásica.
- Usa la forma corta cuando el parámetro y la propiedad se llaman igual.
- Usa
propiedad: variablecuando quieras renombrar el valor recibido. - Combina ambas en el mismo objeto sin problemas.
¿Cómo evitar el error "is not defined" al usar parámetros?
Un detalle que aparece en la práctica: si declaras una propiedad abreviada como uid dentro del return, pero olvidas incluir uid en los parámetros de la función, JavaScript te lanza un Reference error: uid is not defined. El motor busca una variable con ese nombre y, al no encontrarla, detiene la ejecución.
La solución es asegurarte de que cada propiedad abreviada tenga su contraparte como parámetro o variable en el scope. Si el nombre va a cambiar, declara el parámetro con su nombre real y haz la asignación con dos puntos.
¿Por qué aparece "reference error" en object literals? Porque la sintaxis corta necesita que exista una variable con ese mismo nombre. Si la propiedad es
uidpero no recibisteuidcomo parámetro, JavaScript no encuentra el valor y falla.
Al ejecutar la función con console.log(newUser('gndx', 34, 'mx', 1)), el resultado muestra el objeto con user: 'gndx', age: 34, country: 'mx' e id: 1, confirmando que la abreviación funciona y que la propiedad renombrada también se asigna correctamente.
¿Qué ganas al adoptar esta sintaxis?
El beneficio principal es claridad. Cuando un objeto tiene cinco o seis propiedades que se llaman igual que sus variables, eliminar la repetición reduce ruido visual y baja la probabilidad de errores tipográficos. Además, deja explícito qué propiedades sí necesitan transformación, porque solo esas conservan la sintaxis con dos puntos.
Leer errores con calma sigue siendo parte del oficio. JavaScript te dice qué falta y dónde; detente, analiza el mensaje y vuelve al código a corregir la referencia. Esa disciplina te ahorra horas cuando los objetos crecen.
¿Ya estás usando object literals abreviados en tus funciones? Cuéntame en los comentarios qué patrón prefieres y por qué.