Синтаксис класса не может правильно получить доступ к переменной в Javascript - PullRequest
0 голосов
/ 11 июля 2020

Я изучаю синтаксис класса в javascript. Я пытаюсь определить класс, в котором хранятся имя и фамилия человека, количество опозданий и отсутствие. Опоздания и отсутствия автоматически устанавливаются на 0 при инициализации экземпляра. Ниже приведен мой код с функцией, которая добавляет задержки и выводит количество таридов:

class Student{
    construtor(firstName,secondName){
        this.firstName=firstName;
        this.secondName=secondName;
        this.tardies=0;
        this.absences=0;
    }
    IncreaseTardies () {
      this.tardies+=1
        return this.tardies;
    }
}

//Test
let Sample = new Student("A","B");
//Output undefined
Sample.IncreaseTardies()
//Output NaN
//Expected output 1

Код, похоже, не работает так, как задумано, поскольку он возвращает NaN вместо значения + 1, когда IncreaseTardies () называется. Я попытался разместить console.log внутри конструктора, который вообще не дал результата, и с тем же успехом добавил точки останова. Какая ошибка в моем коде не позволяет ему увеличить количество опозданий?

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Конструктор написан неверно, замените его на конструктор с конструктор , здесь c отсутствует ... :)

0 голосов
/ 11 июля 2020

Проблема заключалась в опечатке в названии функции конструктора. Спасибо jonrsharpe за указание на проблему.

Рабочий код:

class Student{
    constructor(firstName,secondName){
        this.firstName=firstName;
        this.secondName=secondName;
        this.tardies=0;
        this.absences=0;
    }
    IncreaseTardies () {
      this.tardies+=1
        return this.tardies;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...