Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

166
Vistas
Cómo eliminar el par clave:valor del objeto req.user

¿Por qué no funciona el operador de eliminación en el objeto req.user?

 let test = new Object(req.user); console.log(test.password); // Get correct string delete test.password; console.log(test.password); // Get correct string, but expect undefined
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

esto funciona para mi

 let test = {user:"hello", password:"goodbye"}; console.log(test.password); // output is: hello delete test.password; console.log(test.password); // output is: undefined

¿Podría editar publicar un fragmento con una asignación explícita en la parte superior (en lugar de una referencia a req.user , que no podemos reproducir). A ver si el problema se reproduce con eso.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esta línea solo crea una referencia a un objeto existente:

 let test = new Object(req.user);

es lo mismo que

 let test = req.user;

Entonces, si puede o no eliminar test.password depende de si puede o no eliminar req.user.password (es la misma operación). Si req.user.password no es una propiedad escribible, obtendrá el comportamiento que describe.

 const req = { user: {} }; Object.defineProperty(req.user, "password", { value: "123456", writable: false }); let test = new Object(req.user); console.log(test.password); // Get correct string delete test.password; console.log(test.password); // Get correct string, but expect undefined const req2 = { user: { password: "123456" } }; let test2 = new Object(req2.user); console.log(test2.password); // Get correct string delete test2.password; console.log(test2.password); // This works as expected

about 4 years ago · Juan Pablo Isaza Denunciar

0

Use new Object() en un objeto existente, en realidad no crea un nuevo objeto. Todo lo que obtienes es una referencia al original.

El objeto original ( req.user ) podría tener el campo de password como parte de su prototipo, y no como una propiedad propia. Eliminarlo del objeto no hace nada, porque no es parte del objeto.

Manifestación:

 const base = Object.create({user:"hello", password:"goodbye"}); const test = new Object(base); console.log(test === base); // true - it's the same object console.log({ pass: test.password, ownProp: test.hasOwnProperty('password') }); delete test.password; console.log({ pass: test.password, ownProp: test.hasOwnProperty('password') });

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda