Objetos
Agrupa datos relacionados en registros estructurados con propiedades nombradas.
Resumen Rápido
Los objetos almacenan propiedades etiquetadas accesibles por clave. Son perfectos para representar entidades del mundo real como usuarios, productos o configuraciones. Junto con los arreglos, los objetos te permiten modelar estructuras de datos complejas.
¿Qué es un Objeto?
Un objeto es una colección de pares clave-valor. Las claves son strings (o Symbols), los valores pueden ser cualquier cosa.
const user = {
name: "Alice", // key: "name", value: "Alice"
age: 30, // key: "age", value: 30
isActive: true // key: "isActive", value: true
};
Creando Objetos
// Object literal (most common)
const car = {
brand: "Toyota",
year: 2024
};
// Empty object
const empty = {};
// Nested objects
const company = {
name: "TechCorp",
address: {
street: "123 Main St",
city: "San Francisco"
}
};
Accediendo a Propiedades
Notación de punto (preferida cuando la clave es conocida):
user.name; // "Alice"
user.age; // 30
Notación de corchetes (para claves dinámicas):
user["name"]; // "Alice"
const key = "age";
user[key]; // 30
Modificando Objetos
const user = { name: "Alice" };
// Add property
user.age = 30;
// Update property
user.name = "Alicia";
// Delete property
delete user.age;
Métodos de Object
const user = { name: "Alice", age: 30 };
Object.keys(user); // ["name", "age"]
Object.values(user); // ["Alice", 30]
Object.entries(user); // [["name", "Alice"], ["age", 30]]
Sintaxis Abreviada (ES6+)
const name = "Alice";
const age = 30;
// Old way
const user = { name: name, age: age };
// Shorthand (when key matches variable name)
const user = { name, age };
Métodos en Objetos
const calculator = {
add(a, b) {
return a + b;
},
subtract(a, b) {
return a - b;
}
};
calculator.add(5, 3); // 8
Pruébalo Tú Mismo
Aquí tienes un ejemplo práctico que puedes probar. Copia este código y ejecútalo en la consola de tu navegador (presiona F12 para abrir las herramientas de desarrollo) o en el Playground de Código.
// Creating objects
const user = {
name: "Alice",
age: 30,
email: "alice@example.com",
isActive: true
};
// Accessing properties
console.log(user.name); // "Alice" (dot notation)
console.log(user["email"]); // "alice@example.com" (bracket notation)
// Modifying objects
user.age = 31; // Update existing
user.role = "admin"; // Add new property
delete user.isActive; // Remove property
// Nested objects
const product = {
name: "Laptop",
price: 999,
specs: {
cpu: "M2",
ram: "16GB",
storage: "512GB"
}
};
console.log(product.specs.cpu); // "M2"
// Object with methods
const calculator = {
value: 0,
add(n) {
this.value += n;
return this;
},
subtract(n) {
this.value -= n;
return this;
},
getResult() {
return this.value;
}
};
calculator.add(10).subtract(3);
console.log(calculator.getResult()); // 7
// Getting keys, values, entries
console.log(Object.keys(user)); // ["name", "age", "email", "role"]
console.log(Object.values(user)); // ["Alice", 31, "alice@example.com", "admin"]Puntos Clave
- ✓Agrupa datos relacionados en registros estructurados con propiedades nombradas.
- ✓Practica con ejemplos de código reales para solidificar tu comprensión
- ✓Este concepto construye la base para temas más avanzados
Recursos de Aprendizaje Relacionados
Continúa tu camino de programación con estos tutoriales relacionados: