如何在JavaScript中初始化类后立即调用方法



我有一个类来创建用户,当我向该类添加init((函数时,它会返回一个SyntaxError,该函数应该在初始化该类后立即执行。

我遵循了这个答案,但得到了另一个SyntaxError

有人能告诉我我做错了什么吗?我想在初始化时设置dob和年龄

class User{
constructor(name, dob){
this.name = name;
this.dob = null;
this.age = null;
}
setAge(){
let currentDate = new Date();
let age = currentDate - this.dob;
this.age = age;
}
setDob(dob){
let dateArray = dob.split('/');
let formatedDob = new Date(dateArray[2], dateArray[1]-1, dateArray[0])
this.dob = formatedDob
}
init(){
setDob(dob);
setAge();
}
this.init()
};
const user1 = new User('Garfield', '10/1/1999');

或者,您可以直接在构造函数中调用任何初始化方法,这就是构造函数要做的。

constructor(name, dob){
this.name = name;
this.setDob(dob);
this.setAge();
}

是的,答案在构造函数中-所以为了简化代码,去掉代码中的null并重写:

constructor(name, dob){
this.name = name;
this.setDob(dob);
this.setAge();
}

最新更新