Apuntes

Clases

class Course {
  constructor({ name, classes = [] }) {
    this._name = name;
    this.classes = classes;
  }

	// Getter
  get name() {
    return this._name;
  }
	// Setter
  set name(nuevoNombrecito) {
    if (nuevoNombrecito === "Curso Malito de Programación Básica") {
      console.error("Wey... no");
    } else {
      this._name = nuevoNombrecito;
    }
  }
}

const cursoProgBasica = new Course({
  name: "Curso Gratis de Programación Básica",
});

cursoProgBasica.name // Curso Gratis de Programación Básica
cursoProgBasica.name = "Curso Gratis" // Curso Gratis de Programación Básica
cursoProgBasica.name = "Curso Malito de Programación Básica" 
// ! Wey... no
// Curso Gratis de Programación Básica

Prototipos

function Student(name, age, nationality) {
  this._name = name;
  this._age = age;
  this.nationality = nationality;
}

Student.prototype = {
  get name() {
    return this._name;
  },
  set name(newName) {
    this._name = newName;
  },

  get age() {
    return this._age;
  },

  set age(newAge) {
    this._age = newAge;
  },
};

let edgar = new Student("Edgar", 25, "Mexico");
edgar.name = "Juan";
edgar.age = 30
console.log(edgar);