Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我试图调用我的方法时,为什么我没有定义?_Javascript_Es6 Class - Fatal编程技术网

Javascript 当我试图调用我的方法时,为什么我没有定义?

Javascript 当我试图调用我的方法时,为什么我没有定义?,javascript,es6-class,Javascript,Es6 Class,初学者试图重新学习JS。下面是我下面的代码。我用calculateAge方法创建了一个persons类。当试图将新常量传递到方法中时,我得到一个未定义的常量,为什么会这样?请告知: class Person6 { constructor (name, yearOfBirth, job) { this.name = name; this.yearOfBirth = yearOfBirth; this.job = job; }

初学者试图重新学习JS。下面是我下面的代码。我用calculateAge方法创建了一个persons类。当试图将新常量传递到方法中时,我得到一个未定义的常量,为什么会这样?请告知:

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

getFullYear需求
()
之后添加一个
()