katiiisha
@katiiisha
Junior Front-End developer.

Почему при добавлении нового значения в массив выдается ошибка?

function Student(name, gender, age) {
  this.name = name;
  this.gender = gender;
  this.age = age;
}


Student.prototype.setSubject = function (subjectName) {
  this.subject = subjectName;
}

Student.prototype.addMark = function (mark) {
  if (this.marks === undefined) {
    this.marks = mark;
  } else {
    this.marks.push(mark);
  }
}   
let student1 = new Student("Tony", "male", 37);
student1.setSubject("Algebra");
student1.addMark(5);
student1.addMark(4);
student1.addMark(5);

Почему в консоли выводит ошибку Uncaught TypeError: this.marks.push is not a function
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
@mikitachyzhyk
Потому что в этой строке не создается массив:
this.marks = mark;
Надо бы что-то вроде:
this.marks = [mark];
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы