'assigning to variable while destructuring in javascript
I have simple question, assume code bellow
const {_id,email}=someVariable
res.json({_id,email})
I want to destructure variable's _id and email in which I can assign them to an object something like bellow code
const {_id,email} as response=someVariable
res.json(response)
How can I do that? As I know, using const{a:b}=someVariable pour value a into b
but the same method doesn't work as I want
Solution 1:[1]
You can't do it in a single step, you have to create the object first. Then you can assign to its properties via destructuring:
const response = {};
({_id: response.id, email: response.email} = someVariable);
json.res(response);
const someVariable = {
_id: 42,
email: "[email protected]",
};
const response = {};
({_id: response.id, email: response.email} = someVariable);
console.log(response);
(Note the () around the assignment. That's so the parser doesn't think the { starts a block.)
As you can see, it doesn't do you much (if any) good over something like:
const response = {
id: someVariable._id,
email: someVariable.email,
};
res.json(response);
The only thing it really has going for it is that you only reference someVariable once, which could be handy if it's not a simple variable reference (like a function call; but countering that, you could just save the result to a variable).
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | T.J. Crowder |
