ES6 Назначение деструктуризации с помощью "этого"
Код ниже работает. Есть ли способ, который более удобен, если это возможно, даже в одну строку?
const { nextUrl, posts } = await postService.getCommunityPosts(6);
this.communityPosts = posts;
this.nextUrl = nextUrl;
Я знаю о предоставлении псевдонимов с деструктурированными свойствами, но я не думаю, что это помогает в этом случае. MDN ничего не говорит об этом деле.
Ответы
Ответ 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);