¿Cómo eliminar una propiedad de un objeto JavaScript? (delete, spread y otras formas)
¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con un problema. Tengo un objeto que contiene datos de un usuario:
```javascript
const user = {
name: 'Alexey',
age: 30,
email: 'alex@example.com',
password: 'secret123',
role: 'admin'
};
```
Necesito eliminar la propiedad `password` de este objeto antes de enviar los datos al cliente (para no exponer la contraseña). Probé asignar `undefined`:
```javascript
user.password = undefined;
```
Pero esto no elimina la propiedad — simplemente se vuelve `undefined`. Al serializar a JSON (JSON.stringify) desaparece, pero en el objeto la clave permanece. Y si recorro el objeto con `for...in`, `password` sigue apareciendo.
He oído sobre el operador `delete`, pero me preocupa que algunos digan que es lento y no se recomienda usarlo. También he visto en algún lugar la sintaxis con el operador spread para crear un nuevo objeto sin la propiedad. ¿Cuál es la forma correcta y por qué?
Por favor, indíquenme.