Tengo una pregunta simple, asume el siguiente código.
const {_id,email}=someVariable res.json({_id,email})Quiero desestructurar el _id y el correo electrónico de la variable en el que puedo asignarlos a un objeto, algo así como el siguiente código.
const {_id,email} as response=someVariable res.json(response) ¿Cómo puedo hacer eso? Como sé, usando const{a:b}=someVariable vierta el valor a en b pero el mismo método no funciona como quiero
No puede hacerlo en un solo paso, primero debe crear el objeto. Luego puede asignar sus propiedades a través de la desestructuración:
const response = {}; ({_id: response.id, email: response.email} = someVariable); json.res(response); const someVariable = { _id: 42, email: "someone@example.com", }; const response = {}; ({_id: response.id, email: response.email} = someVariable); console.log(response); (Tenga en cuenta el () alrededor de la asignación. Eso es para que el analizador no crea que el { inicia un bloque).
Como puede ver, no le hace mucho bien (si es que lo hace) en algo como:
const response = { id: someVariable._id, email: someVariable.email, }; res.json(response); Lo único que realmente tiene es que solo hace referencia a alguna someVariable una vez, lo que podría ser útil si no es una referencia de variable simple (como una llamada de función; pero contrarrestando eso, podría guardar el resultado en una variable).