Objetos en JavaScript: representar entidades reales

Aprende a modelar datos con objetos, acceder a propiedades, crear métodos con `this` y trabajar de forma segura con claves dinámicas y acceso opcional.

Los objetos son la forma natural de representar entidades del mundo real en código: usuarios, productos, pedidos, configuraciones o sesiones.

Mientras un array organiza elementos por posición, un objeto organiza información por significado (`nombre`, `precio`, `estado`).

Dominar objetos te prepara para trabajar con JSON, APIs y estado de interfaz de manera profesional.

Objetivo de esta lección: construir, leer y actualizar objetos con precisión y sin errores silenciosos.

  • Un objeto agrupa datos relacionados bajo una sola identidad.
  • Si modelas un usuario con variables sueltas (`nombre`, `email`, `rol`), pronto perderás contexto. Un objeto mantiene toda la información conectada.
  • Esto mejora lectura, mantenimiento y escalabilidad cuando tu aplicación crece.
  • Sintaxis principal: `{ clave: valor }`.
  • La forma más común de crear objetos en JavaScript es con llaves y pares clave/valor separados por comas.

Pensar en objetos: entidad + atributos

Un objeto agrupa datos relacionados bajo una sola identidad.

Si modelas un usuario con variables sueltas (`nombre`, `email`, `rol`), pronto perderás contexto. Un objeto mantiene toda la información conectada.

Esto mejora lectura, mantenimiento y escalabilidad cuando tu aplicación crece.

Crear objetos literales

Sintaxis principal: `{ clave: valor }`.

La forma más común de crear objetos en JavaScript es con llaves y pares clave/valor separados por comas.

Elige nombres de clave semánticos para que el objeto se entienda sin documentación extra.

Leer y actualizar propiedades

Punto para claves conocidas, corchetes para claves dinámicas.

`obj.propiedad` es directo y legible cuando conoces la clave. `obj[clave]` te permite acceso dinámico cuando la clave viene en variable.

Actualizar o añadir propiedades es una asignación normal, pero conviene hacerlo con intención para no desordenar el modelo.

  • Punto: más legible en la mayoría de casos.
  • Corchetes: necesario para claves dinámicas.
  • Puedes crear claves nuevas en tiempo de ejecución.
  • Verifica typos: un nombre mal escrito devuelve `undefined`.

Métodos de objeto y `this`

Un método combina comportamiento y datos en la misma entidad.

Cuando guardas una función dentro de un objeto, esa función puede usar `this` para acceder a propiedades del propio objeto.

Este patrón es útil para construir modelos más expresivos y evitar pasar siempre las mismas propiedades como argumentos externos.

Patrones seguros: claves, valores y acceso opcional

Inspecciona estructura antes de asumir que una propiedad existe.

`Object.keys` y `Object.values` ayudan a inspeccionar datos dinámicos. Optional chaining (`obj?.prop`) evita errores cuando faltan campos anidados.

Estos patrones son esenciales al consumir datos externos donde no controlas siempre la forma del objeto.

  • `Object.keys(obj)` para listar propiedades.
  • `Object.values(obj)` para revisar valores.
  • `obj?.campo?.subcampo` para acceso defensivo.
  • `'campo' in obj` para comprobar existencia.
JavaScript
14

Objetos en JavaScript: representar entidades reales

Aprende a modelar datos con objetos, acceder a propiedades, crear métodos con `this` y trabajar de forma segura con claves dinámicas y acceso opcional.

Código del tema: { clave: valor } · this · Object.keys

📘 Teoría

Pensar en objetos: entidad + atributos

Un objeto agrupa datos relacionados bajo una sola identidad.

Si modelas un usuario con variables sueltas (`nombre`, `email`, `rol`), pronto perderás contexto. Un objeto mantiene toda la información conectada.

Esto mejora lectura, mantenimiento y escalabilidad cuando tu aplicación crece.

1

Entidad

2

Atributos

3

Comportamiento

4

Ventaja

Crear objetos literales

Sintaxis principal: `{ clave: valor }`.

1

La forma más común de crear objetos en JavaScript es con llaves y pares clave/valor separados por comas.

2

Elige nombres de clave semánticos para que el objeto se entienda sin documentación extra.

Objeto inicial
const usuario = {
  nombre: 'Ana',
  edad: 28,
  activo: true
};

console.log(usuario);

Leer y actualizar propiedades

Punto para claves conocidas, corchetes para claves dinámicas.

`obj.propiedad` es directo y legible cuando conoces la clave. `obj[clave]` te permite acceso dinámico cuando la clave viene en variable.

Actualizar o añadir propiedades es una asignación normal, pero conviene hacerlo con intención para no desordenar el modelo.

  • Punto: más legible en la mayoría de casos.
  • Corchetes: necesario para claves dinámicas.
  • Puedes crear claves nuevas en tiempo de ejecución.
  • Verifica typos: un nombre mal escrito devuelve `undefined`.
Punto vs corchetes
const producto = { nombre: 'Laptop', precio: 899 };

console.log(producto.nombre);

const campo = 'precio';
console.log(producto[campo]);

producto.stock = 4;
producto.precio = 849;
console.log(producto);

Métodos de objeto y `this`

Un método combina comportamiento y datos en la misma entidad.

1

Cuando guardas una función dentro de un objeto, esa función puede usar `this` para acceder a propiedades del propio objeto.

2

Este patrón es útil para construir modelos más expresivos y evitar pasar siempre las mismas propiedades como argumentos externos.

Método con `this`
const persona = {
  nombre: 'Luis',
  profesion: 'Frontend Developer',
  presentarse: function () {
    return `Soy ${this.nombre}, ${this.profesion}`;
  }
};

console.log(persona.presentarse());

Patrones seguros: claves, valores y acceso opcional

Inspecciona estructura antes de asumir que una propiedad existe.

`Object.keys` y `Object.values` ayudan a inspeccionar datos dinámicos. Optional chaining (`obj?.prop`) evita errores cuando faltan campos anidados.

Estos patrones son esenciales al consumir datos externos donde no controlas siempre la forma del objeto.

  • `Object.keys(obj)` para listar propiedades.
  • `Object.values(obj)` para revisar valores.
  • `obj?.campo?.subcampo` para acceso defensivo.
  • `'campo' in obj` para comprobar existencia.

🧭 Visuales clave

Objetos en JavaScript

Apoya el modelado de entidades con claves semánticas y métodos.

Diagrama de propiedades y métodos en objetos JavaScript

Contexto de this

Aporta contexto visual sobre cómo cambia this según la invocación.

Esquema de enlace de this en métodos y funciones

🧪 Aprende probando

Ejemplo Ejemplo guiado: ficha de producto Actualiza propiedades y añade campos para ver evolución del objeto.
Ejemplo Ejemplo guiado: objeto con método Combina datos + comportamiento con un método que genera resumen.
Ejemplo Demo interactiva: generador de objeto usuario Completa inputs y construye un objeto en tiempo real para visualizar estructura JSON.
Ejemplo Demo interactiva: tarjeta desde un objeto actualizado con spread Edita propiedades de una persona y observa cómo una copia nueva del objeto alimenta la tarjeta y el código mostrado.

🏁 Retos

Reto Reto 1: crear ficha de usuario Declara un objeto completo y genera resumen con propiedades por punto.
Reto Reto 2: método `presentarse` con `this` Añade un método al objeto que construya texto usando propiedades internas.

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .