Подтвердить что ты не робот

ES6 Назначение деструктуризации с помощью "этого"

Код ниже работает. Есть ли способ, который более удобен, если это возможно, даже в одну строку?

const { nextUrl, posts } = await postService.getCommunityPosts(6);
this.communityPosts = posts;
this.nextUrl = nextUrl;

Я знаю о предоставлении псевдонимов с деструктурированными свойствами, но я не думаю, что это помогает в этом случае. MDN ничего не говорит об этом деле.

4b9b3361

Ответ 1

Вы можете назначить свойства существующего объекта, задав псевдонимы и заключив назначение в круглые скобки (ожидайте codepen).

const demo = { nextUrl: 'nextUrl', posts: 'posts' };

const target = {}; // replace target with this

({ nextUrl: target.nextUrl, posts: target.communityPosts } = demo);

console.log(target);

Ответ 2

function Person() {
  this.obj = {
    firstName: 'Dav',
    lastName: 'P'
  };

  ({firstName: this.firstName, lastName: this.lastName} = this.obj);
}

let p = new Person();

console.log(p);