Meal Maker project

I’ve been looking over my code a hundred times but can’t find my error.

Keep getting this: TypeError: Cannot read property ‘appetizers’ of undefined
at Object.get appetizers [as appetizers] …

Here is my code:

const menu = {
  _courses: {
    appetizers: [],
    mains: [] ,
    desserts: [],
    
    
    get appetizers() {      
      return this._courses.appetizers
    },
    set appetizers(appetizers) {
      this._courses.appetizers = appetizers;
    },
    get mains() {
      return this._courses.mains;      
    },
    set mains(mains) {
      this._courses.mains = mains;
    },
    get desserts () {
      return this._courses.desserts
    },
    set desserts (desserts) {
      this._courses.desserts = desserts;
    }
    
  },
  get courses() {
    return {
      appetizers: this.appetizers,
      mains: this.mains,
      desserts: this.desserts
    }
  },
  
  addDishToCourse(courseName, dishName, dishPrice) {
    const dish = {
      name: courseName, 
      price: dishPrice
    };
    
    this._courses[courseName].push(dish);
  },
  
  getRandomDishFromCourse(courseName) {
    const dishes = this._courses[courseName];
    const randomIndex = Math.floor(Math.random()*dishes.length);
    return dishes[randomIndex]
  },
  
  generateRandomMeal() {
    const appetizer = this.getRandomDishFromCourse('appetizers');
    const main = this.getRandomDishFromCourse('mains');
    const dessert = this.getRandomDishFromCourse('desserts');
    const totPrice = appetizer.price + main.price + dessert.price;
    
    return 'The dishes you ordered are:' + appetizer + ' '+ main + ' '+ dessert +'. And the total price is: $' + totPrice; 
  },
  
};

menu.addDishToCourse('appetizers', 'olives', 4.00);
menu.addDishToCourse('appetizers', 'feta cheese', 4.00);
menu.addDishToCourse('appetizers', 'calamari rings', 5.00);

menu.addDishToCourse('mains', 'steak', 10.50);
menu.addDishToCourse('mains', 'burger', 11.00);
menu.addDishToCourse('mains', 'pizza', 12.00);

menu.addDishToCourse('desserts', 'ice cream', 7.50);
menu.addDishToCourse('desserts', 'chocolate milkshake', 6.00);
menu.addDishToCourse('desserts', 'cheese cake', 8.00);


let meal = menu.generateRandomMeal();
console.log(meal);

if we inspect the value of this:

get appetizers() {      
      console.log(this)
      return this._courses.appetizers;
    },

we see its the courses object. Which doesn’t have a _courses property. It should be this.appetizers

also, getters and the property shouldn’t have the same name. This could cause problems.