为什么在尝试调用我的方法时会出现未定义的情况?

尝试重新学习 JS 的初学者。下面是我的以下代码。我用 calculateAge 方法创建了一个 persons 类。当试图将我的新 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(); 


catspeake
浏览 131回答 1
1回答

墨色风雨

var age = new Date().getFullYear - this.yearOfBirth;这条线有问题。该属性getFullYear是您需要调用的函数,并且由于您没有这样做,所以最终得到 NaN。您需要()在之后添加一个.getFullYear
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript