這可能聽起來很可笑,但忍受着我。我想知道在語言層面是否支持將對象解構成構造函數中的類屬性,例如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',使用一個getter HTTPS://developer.mozilla。 org/en-US/docs/Web/JavaScript/Reference/Functions/get – Jan
@Jan right thanks。對不起,這是一個不好的例子。我只是想證明'firstname'和'lastname'之後有更多的初始化,如果這是有道理的。 –
'this'不能被分配給 - 在ES5中從不,在ES6中唯一改變它的「值」的是'super()'。但要分配屬性,請參閱重複項。 – Bergi