Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

168
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!