Вот несколько вариантов:
class User {
constructor( id, name, comments, avatar ) {
Object.assign(this, { id, name, comments, avatar });
}
}
const user = new User(42, 'John', 1, 'cat.jpg');
Чуть более читаемо
class User {
constructor({ id, name, comments, avatar } ) {
Object.assign(this, { id, name, comments, avatar });
}
}
const user = new User({ id: 42, name: 'John', comments: 1, avatar: 'cat.jpg'});
Но изначальный вариант, только без огромного числа аргументов, на мой взгляд лучше.
class User {
constructor({id, name, comments}) {
this.id = id
this.name = name
this.comments = comments
}
}
- Он более наглядный для разработчика.
- Он проще для рефакторинга и отладки.
- Он намного понятнее для вашей IDE. Не каждая IDE умеет корректно обрабатывать
Object.assign
чтобы выдавать вам контекстные подсказки.