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.
main.js
Pruébalo tú mismo →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").