Как реализовать код?

Проблема заключается в том что код ничего не выводит в консоль.

Прикрепляю задание по которому писал код.

Задание: Нужно сделать конструктор сущности "Студент".

У студента есть имя, фамилия, год рождения — это свойства. Есть массив с оценками, это тоже свойство. И есть возможность получить возраст студента и его средний балл – это методы.

Еще у всех студентов есть по массиву одинаковой длины, в нем 25 элементов, сначала он не заполнен, но на 25 элементов. Это массив, в котором отмечается посещаемость, всякий раз, когда мы вызываем метод .present() на очередное пустое место, в массив записывается true, когда вызываем .absent() - записывается false. Предусмотрите любую защиту от того, чтобы в массиве посещаемости не могло быть больше 25 записей. Массив – это свойство, present и absent – методы. Последний метод: .summary(), проверяет среднюю оценку и среднее посещение(количество Посещений/количество Занятий), и если средняя оценка больше 90, а среднее посещение больше 0.9, то метод summary возвращает строку "Молодец!", если одно из этих значений меньше , то - "Хорошо, но можно лучше", если оба ниже - "Редиска!". Не забудьте после того, как напишите этот конструктор, создать 2-3 экземпляра (конкретных студентов) и показать использование этих методов. Написать несколько тест кейсов, которые будут проверять правильность ваших методов. Выводить ошибки из-за throw. Использовать принципы программирования, S.O.L.I.D. , KISS, DRY...

Мой код :

class Student {
    constructor(firstName,lastName,yearOfBirth,arrayOfGrades) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.yearOfBirth = yearOfBirth;
        this.arrayOfGrades = arrayOfGrades;
    }
    //______Возраст студента______//
    getAge (yearOfBirth = this.yearOfBirth) {
        return console.log(2023 - yearOfBirth);
    }
    //______Средний бал______//
    averageMark (arrayOfGrades = this.arrayOfGrades) {
        let sum = 0;
        for (let i = 0; i < arrayOfGrades.length; i++) {
            sum = sum + arrayOfGrades[i];
        }
        return console.log(sum / arrayOfGrades.length);
    }

}
//______Экземпляры студентов______//
const student = new Student('Dmitriy','Yaroshchuk',2001,[70,80,90,100,90,90,85,75,95,93]);
const student1 = new Student('Andrew','Kavetsky',2000,[90,90,90,90,90,90,85,85,95,93]);
const student2 = new Student('Diana','Koko',1999,[70,70,70,70,70,70,75,75,75,93]);


class Visit extends Student {
    constructor() {
        super();
        this.visitinMagazine = [];
    }
    //______Используется когда студент был на занятие______//
    present () {
        if (this.visitinMagazine.length < 26) {
            this.visitinMagazine.push(true);
        } else {
            this.visitinMagazine.pop();
        }
    }
    //______Используется когда студент НЕ был на занятие______//
    absent () {
        if (this.visitinMagazine.length < 26) {
            this.visitinMagazine.push(false);
        } else {
            this.visitinMagazine.pop();
        }
    }
}

 class Calculation extends Visit {
    constructor() {
        super();
    }
     //______Колличество занятий______//
     amountOfClasses () {
         return this.arrayOfGrades.length;
     }
     //______Колличество посищений______//
     amountOfVisits () {
         return this.visitinMagazine.filter((element) => element === true).length;
     }
     //______Проверяем среднюю оценку и посейщение______//
     summary () {
         const averageVisit = this.amountOfVisits / this.amountOfClasses;
         if (this.averageMark > 90 && averageVisit > 0.9) {
             return console.log('Cool!');
         } else if (this.averageMark > 90 || averageVisit > 0.9) {
             return console.log('Good, but it can be better!');
         } else {
             return console.log('Radish');
         }
     }
 }


Ответы (0 шт):