Build a Library Project - Undefined issue

Hi Everyone!

I’m dealing with the Build a Library Project.

At this point i’m getting undefined and don’t know why…

Any help please?

Thank you so much!

class Media {
  constructor(title) {
    this._title = title;
    this._isCheckedOut = false; 
    this._ratings = []; 
  }
  
  get title() {
    return this._title;
  }

  get isCheckedOut() {
    return this._isCheckedOut;
  }  
  
  get ratings() {
    return this._ratings;
  }
  
  set isCheckedOut(value) {
    this._isCheckedOut = value;
  }  
  
  toggleCheckOutStatus() {
     this.isCheckedOut = !this.isCheckedOut;
  }
  
  getAverageRating() {
    let ratingsSum = this.ratings.reduce((accumulator, rating) => accumulator + rating);  
    return ratingsSum / this.ratings.lenght;
  }
 
  addRating(value) {
    this.ratings.push(value);
  }
}


class Book extends Media {
  constructor(author, title, pages) {
    super (title);
    this._author = author;
    this._pages = pages;
  }
  
  get author() {
    return this._author;
  }
  
  get pages() {
    return this._pages;
  }
}


class Movie extends Media {
  constructor(director, title, runTime) {
    super (title);
    this._director = director;
    this._runTime = runTime;
  }
  
  get director() {
    return this._director;
  }
  
  get runtime() {
    return this._runTime;
  }
}


const historyOfEverything = new Book ('Bill Bryson', 'A Short History of Nearly Everything', 544);

historyOfEverything.toggleCheckOutStatus();
console.log(historyOfEverything.isCheckOut);

This is the project link:

https://www.codecademy.com/paths/web-development/tracks/webdev-intermediate-javascript/modules/learn-javascript-classes/projects/build-a-library

here:

console.log(historyOfEverything.isCheckOut);

shouldn’t it be isCheckedOut? I think you made a typo in the property name

2 Likes

Wow! How did you see it ?

You’r my hero!!!

Thank you so much!

I was getting crazy!

I love you.

Miguel