我可以使用deconsturct动态构建对象吗?
就像我token
位于this.request.body.token
之下
如何获取值并将其分配给对象属性?试过下面的例子它不起作用:
const params = {
token
} = this.request.body
console.log(params.token) //undefined
我必须这样做
const reqBody = this.request.body
const params = {
token: reqBody.token
}
console.log(params.token) //123
答案 0 :(得分:0)
在解构时使用冒号分配给具有与属性名称不同的名称的独立变量:
const obj = { request: { body: { token: 'abc' } } };
// obj is equivalent to the `this` in your code
const { request: { body: reqBody } } = obj;
console.log(reqBody);
如果您对变量名称只是body
感到满意,那就更容易了:
const obj = { request: { body: { token: 'abc' } } };
// obj is equivalent to the `this` in your code
const { request: { body } } = obj;
console.log(body);
答案 1 :(得分:0)
如果您要解构的对象具有一些标准属性,则可以通过使用object rest省略来执行此操作:
const thisRequestBody = {
a: 'a',
b: 'b',
token: 'token'
}
const { a, b, ...params } = thisRequestBody;
console.log(params);