Diccionario

Objeto

Un elemento de un programa que agrupa datos (propiedades) y acciones (métodos) relacionados, como un «cliente» con su nombre y su correo.

Un objeto reúne en una sola cosa los datos y las acciones de algo del mundo real o del programa: una cuenta bancaria tiene un saldo (propiedad) y se puede ingresar dinero (método).

En lenguajes como Java, C# o Python los objetos se crean a partir de clases. En JavaScript también se escriben directamente como pares clave–valor entre llaves.

Un ejemplo

{ nombre: "Eva", edad: 28 } es un objeto de JavaScript con dos propiedades; usuario.nombre devuelve "Eva".

Por qué importa

Los objetos permiten modelar cosas reales o conceptos agrupando sus datos y su comportamiento en una sola unidad. Un usuario con nombre, correo y edad, o un pedido con sus líneas y su total, se representan de forma natural como objetos, lo que hace el código más cercano al problema que resuelve.

También son la forma típica de intercambiar información: el formato JSON, que usan casi todas las API web, es básicamente una notación de objetos y listas. Saber leer y construir objetos es indispensable para trabajar con datos en cualquier lenguaje moderno.

Confusiones frecuentes

No hay que confundir objeto con clase. La clase es la plantilla o receta, y el objeto es cada ejemplar concreto creado a partir de ella. En JavaScript la confusión es mayor porque puedes crear objetos directamente con llaves, sin clase alguna. Tampoco se copian como los números: asignar un objeto a otra variable no lo duplica, ambas variables apuntan al mismo objeto, y modificar uno cambia el otro.

Preguntas frecuentes

¿Cómo accedo a una propiedad?

Con punto, usuario.nombre, o con corchetes, usuario["nombre"]. Los corchetes son útiles cuando el nombre está en una variable o contiene caracteres especiales.

¿Qué pasa si pido una propiedad que no existe?

En JavaScript obtienes undefined, y en Python un error KeyError o AttributeError, según uses diccionario u objeto.