为什么在尝试调用我的方法时会出现未定义的情况?
Why am I getting undefined when I am trying to call my method?
尝试重新学习 JS 的初学者。下面是我的以下代码。我用 calculateAge 方法创建了一个人 class。当试图将我的新 const 传递到我的方法时,我得到一个未定义的,为什么会这样?请指教:
class Person6 {
constructor (name, yearOfBirth, job) {
this.name = name;
this.yearOfBirth = yearOfBirth;
this.job = job;
}
// Functions can directly add to the class
calculateAge() {
var age = new Date().getFullYear - this.yearOfBirth;
console.log(age);
}
// Static classes
static greeting() {
console.log('Hey there!');
}
}
const quang6 = new Person6('Quang', 1994, 'IT');
Person6.greeting();
quang6.calculateAge();
var age = new Date().getFullYear - this.yearOfBirth;
这行有问题。 属性 getFullYear
是一个你需要调用的函数,因为你没有这样做,所以你最终会得到 NaN。您需要在 .getFullYear
之后添加一个 ()
尝试重新学习 JS 的初学者。下面是我的以下代码。我用 calculateAge 方法创建了一个人 class。当试图将我的新 const 传递到我的方法时,我得到一个未定义的,为什么会这样?请指教:
class Person6 {
constructor (name, yearOfBirth, job) {
this.name = name;
this.yearOfBirth = yearOfBirth;
this.job = job;
}
// Functions can directly add to the class
calculateAge() {
var age = new Date().getFullYear - this.yearOfBirth;
console.log(age);
}
// Static classes
static greeting() {
console.log('Hey there!');
}
}
const quang6 = new Person6('Quang', 1994, 'IT');
Person6.greeting();
quang6.calculateAge();
var age = new Date().getFullYear - this.yearOfBirth;
这行有问题。 属性 getFullYear
是一个你需要调用的函数,因为你没有这样做,所以你最终会得到 NaN。您需要在 .getFullYear
()