我想创建以下类的实例:
class Person {
firstName;
lastName;
birthday;
constructor(props: Person) {
{firstName,lastName,birthday} = props
}
}
var me = new Person({firstName: "donald",
lastName: "trump",
middleName: "john"})
我希望构造函数只选择要分配给“this”的类的属性,这样 me
将是 {firstName: "donald", lastName: "trump ", 生日:未定义
我的想法是:
class Person {
firstName;
lastName;
birthday;
constructor(props: Person) {
this.{firstName,lastName,birthday} = props
}
}
var me = new Person({firstName: "donald", lastName: "trump", middleName: "john"})
或类似的东西。
最佳答案
您可以分两行执行此操作:
const {firstName,lastName,birthday} = props;
Object.assign(this, {firstName,lastName,birthday});
现在,如果这只是关于三个 属性,只需执行:
this.firstName = props.firstName;
this.lastName = props.lastName;
this.birthday = props.birthday;
它更具可读性,而且速度稍快。值得额外排队。
您还可以更改构造函数签名,以便它解构所需的属性:
constructor({firstName: string, lastName: string, birthday: Date}) {
this.firstName = firstName;
this.lastName = lastName;
this.birthday = birthday;
}
关于javascript - 如何使用 javascript 对象中的构造函数来仅使用 `this` 中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55817480/