AnyCompiler

Clases y Objects

Una clase es un plano para crear objetos que agrupan datos (propiedades) junto con las funciones que operan sobre esos datos (métodos). Cada perro que crees a partir de una clase Dog comparte la misma estructura, pero guarda sus propios valores.

class Dog {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  bark() {
    return `${this.name} says Woof!`;
  }
}

const myDog = new Dog("Rex", 3);
console.log(myDog.name);
console.log(myDog.bark());
Output
Rex
Rex says Woof!
  • constructor se ejecuta automáticamente cuando creas un nuevo objeto con new — es donde configuras los datos iniciales del objeto
  • this hace referencia al objeto concreto sobre el que se está llamando un método — así es como un método accede a las propiedades propias del objeto
  • this.name = name guarda el valor como una propiedad, así cualquier método de este objeto puede acceder a él después
  • new Dog("Rex", 3) crea un objeto real (una "instancia") de la clase Dog

Podrías crear tantos perros como quisieras a partir de la misma clase — new Dog("Bella", 5), new Dog("Max", 1) — cada uno manteniendo su propio nombre y edad de forma independiente.

Siguiente: promises y async/await — cómo maneja JavaScript las operaciones que toman tiempo.

Ejercicio de práctica

Añade un método honk() a la clase Car que devuelva `${this.make} says beep!`, y luego imprime el resultado de llamarlo en un new Car("Toyota").