0

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

0

1 Answer 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).

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.