Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

169
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda