создать свойство объекта obect, используя deconstruct для другого объекта - PullRequest
0 голосов
/ 08 мая 2018

Могу ли я построить объект на лету, используя деконструкцию? Как я 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

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Если объект, который вы разрушаете, имеет несколько стандартных свойств, вы можете сделать это, пропустив команду object rest :

const thisRequestBody = {
  a: 'a', 
  b: 'b',
  token: 'token'
}

const { a, b, ...params } = thisRequestBody;

console.log(params);
0 голосов
/ 08 мая 2018

Используйте двоеточие при деструктурировании, чтобы назначить автономную переменную с именем, отличным от имени свойства:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...