Clases
Una clase es una plantilla para crear objetos del mismo tipo. Define qué
datos tendrán (en el constructor) y qué pueden hacer (los métodos).
class Persona {
constructor(nombre, edad) {
this.nombre = nombre;
this.edad = edad;
}
saludar() {
return `Hola, soy ${this.nombre}`;
}
}
const ana = new Persona("Ana", 30);
console.log(ana.saludar()); // "Hola, soy Ana"
constructor: método especial que se ejecuta al crear el objeto connew. Sirve para inicializar las propiedades.new Persona(...): crea una nueva instancia de la clase.- Los métodos se escriben dentro de la clase, sin la palabra
function.
Prototipos: lo que hay debajo
Las clases son una sintaxis más cómoda sobre el sistema de prototipos de
JavaScript. Los métodos no se copian en cada objeto: viven en un objeto
compartido (el prototipo) y todas las instancias lo consultan. Por eso crear
mil personas no duplica mil veces el método saludar.
Ejemplos
Definir una clase y crear instancias
class Rectangulo {
constructor(ancho, alto) {
this.ancho = ancho;
this.alto = alto;
}
area() {
return this.ancho * this.alto;
}
}
const r = new Rectangulo(4, 3);
console.log("Área:", r.area());