Это может показаться смешным, но нестись со мной. Интересно, есть ли поддержка на уровне языка для разрушения объекта в свойства класса в конструкторе, например.ES6 Разрушение в классе конструктора
class Human {
// normally
constructor({ firstname, lastname }) {
this.firstname = firstname;
this.lastname = lastname;
this.fullname = `${this.firstname} ${this.lastname}`;
}
// is this possible?
// it doesn't have to be an assignment for `this`, just something
// to assign a lot of properties in one statement
constructor(human) {
this = { firstname, lastname };
this.fullname = `${this.firstname} ${this.lastname}`;
}
}
Если вы хотите 'fullname', чтобы сохранить изменения в' 'firstname' и lastname', используйте геттере https: //developer.mozilla. org/en-US/docs/Web/JavaScript/Reference/Functions/get – Jan
@Jan спасибо. Извините, это был плохой пример. Я просто хочу продемонстрировать, что после 'firstname' и' lastname' есть больше инициализации, если это имеет смысл. –
'this' не может быть присвоено - в ES5 никогда, в ES6 единственное, что меняет свое значение, -' super() '. Но для назначения свойств на нем см. Дубликат. – Bergi