En JavaScript, puedes eliminar una clave de un objeto utilizando el operador delete
. Este operador elimina la propiedad especificada del objeto y actualiza su estructura, permitiendo trabajar con objetos más dinámicos y personalizados.
delete
para eliminar claves
Para borrar una clave de un objeto, basta con usar la sintaxis delete objeto.clave
. Si la clave existe, será eliminada, y si no existe, simplemente no afectará al objeto.
const usuario = {
nombre: "Juan",
edad: 30,
email: "juan@example.com"
};
// Eliminamos la clave 'edad'
delete usuario.edad;
console.log(usuario);
// Resultado: { nombre: "Juan", email: "juan@example.com" }
Cuando la clave está almacenada como una variable o contiene caracteres especiales, se puede usar la notación de corchetes:
const configuracion = {
"tema-claro": true,
modoOscuro: false
};
const claveAEliminar = "tema-claro";
delete configuracion[claveAEliminar];
console.log(configuracion);
// Resultado: { modoOscuro: false }
1. El operador delete no borra propiedades heredadas: Solo elimina claves que son propias del objeto.
2. El objeto permanece mutable: La clave es removida, pero el objeto sigue siendo modificable.
3. Efecto en prototipos: Si intentas eliminar una clave definida en el prototipo, el delete
no funcionará.
Antes de eliminar una clave, es buena práctica verificar si existe:
const producto = {
id: 1,
nombre: "Laptop",
precio: 1200
};
if ("precio" in producto) {
delete producto.precio;
}
console.log(producto);
// Resultado: { id: 1, nombre: "Laptop" }
delete
Si necesitas crear un nuevo objeto sin ciertas claves, considera usar funciones como Object.keys
y reduce
:
const persona = {
nombre: "María",
edad: 25,
ciudad: "Madrid"
};
const nuevaPersona = Object.keys(persona).reduce((acc, key) => {
if (key !== "edad") acc[key] = persona[key];
return acc;
}, {});
console.log(nuevaPersona);
// Resultado: { nombre: "María", ciudad: "Madrid" }
Jorge García
Fullstack developer