Los objetos en JavaScript son una estructura fundamental para modelar datos complejos y representan colecciones de propiedades, donde cada propiedad es una clave asociada a un valor. Este artículo abarca cómo crear, acceder, modificar, y trabajar con métodos dentro de los objetos, además de explorar la desestructuración de objetos.
La forma más común y sencilla de crear un objeto es usando la sintaxis literal:
const persona = {
nombre: "Juan",
edad: 30,
profesion: "Ingeniero"
};
Object
Otra forma de crear un objeto es usando el constructor integrado Object
:
const persona = new Object();
persona.nombre = "Ana";
persona.edad = 25;
persona.profesion = "Médico";
Si necesitas crear múltiples objetos con una estructura similar, puedes usar funciones constructoras o clases:
function Persona(nombre, edad, profesion) {
this.nombre = nombre;
this.edad = edad;
this.profesion = profesion;
}
const persona1 = new Persona("Carlos", 40, "Arquitecto");
const persona2 = new Persona("Lucia", 35, "Diseñadora");
Con clases:
class Persona {
constructor(nombre, edad, profesion) {
this.nombre = nombre;
this.edad = edad;
this.profesion = profesion;
}
}
const persona1 = new Persona("Carlos", 40, "Arquitecto");
const persona2 = new Persona("Lucia", 35, "Diseñadora");
Puedes acceder a las propiedades de un objeto utilizando la notación de punto o la notación de corchetes:
const persona = {
nombre: "Sofia",
edad: 28
};
console.log(persona.nombre); // Sofia
console.log(persona["edad"]); // 28
Modificar una propiedad es tan simple como reasignarle un nuevo valor:
persona.edad = 29;
persona["nombre"] = "Laura";
console.log(persona); // { nombre: "Laura", edad: 29 }
Puedes agregar nuevas propiedades de manera dinámica:
persona.profesion = "Artista";
console.log(persona); // { nombre: "Laura", edad: 29, profesion: "Artista" }
El operador delete
se utiliza para eliminar propiedades:
delete persona.edad;
console.log(persona); // { nombre: "Laura", profesion: "Artista" }
Los métodos son funciones asociadas a un objeto. Se definen como propiedades cuyo valor es una función:
const calculadora = {
sumar: function(a, b) {
return a + b;
},
restar(a, b) {
return a - b; // También se puede usar esta sintaxis más corta
}
};
console.log(calculadora.sumar(5, 3)); // 8
console.log(calculadora.restar(5, 3)); // 2
Con la sintaxis ES6:
const persona = {
nombre: "Carlos",
saludar() {
console.log(`Hola, mi nombre es ${this.nombre}`);
}
};
persona.saludar(); // Hola, mi nombre es Carlos
La desestructuración es una forma concisa de extraer valores de un objeto y asignarlos a variables:
const persona = {
nombre: "Maria",
edad: 32,
profesion: "Doctora"
};
const { nombre, edad } = persona;
console.log(nombre); // Maria
console.log(edad); // 32
Puedes renombrar propiedades al desestructurar:
const { nombre: nombreCompleto, edad: años } = persona;
console.log(nombreCompleto); // Maria
console.log(años); // 32
Es posible asignar valores predeterminados:
const { nombre, pais = "No especificado" } = persona;
console.log(pais); // No especificado
Si el objeto contiene otros objetos, puedes desestructurar niveles anidados:
const empleado = {
nombre: "Luis",
direccion: {
ciudad: "Madrid",
pais: "España"
}
};
const { direccion: { ciudad, pais } } = empleado;
console.log(ciudad); // Madrid
console.log(pais); // España
Los objetos son esenciales en JavaScript y ofrecen una forma flexible de organizar y manejar datos complejos. Con el entendimiento de su creación, acceso, modificación y desestructuración, junto con la implementación de métodos, estarás bien equipado para trabajar con esta poderosa estructura en tus proyectos.