Clases y Objetos en JavaScript
Volver a clases
Fundamentos de Programación●●Intermedio

Clases y Objetos en JavaScript

120 min
0 vistas

Crear clases, entender `this`, usar getters/setters y encapsular datos.

Sintaxis de clases ES6

  • Clases e instancias: Una clase define el molde; una instancia es un objeto creado con new.
  • Constructor: Inicializa propiedades y estado.
  • Métodos de instancia: Operan sobre los datos del objeto.
  • Métodos estáticos: Funciones de utilidad que no dependen de una instancia.
javascript
1class Persona {
2  constructor(nombre, edad) {
3    this.nombre = nombre;
4    this.edad = edad;
5  }
6  saludar() {
7    console.log(`Hola, soy ${this.nombre}`);
8  }
9}

this y binding

  • this depende del contexto de llamada.
  • Con bind, call y apply puedes controlar el contexto.
  • Las arrow functions heredan this del entorno.

Getters y setters

  • Permiten validar y controlar acceso a propiedades.
  • Útiles para encapsulación y propiedades calculadas.
javascript
1class Rectangulo {
2  constructor(ancho, alto) {
3    this._ancho = ancho;
4    this._alto = alto;
5  }
6  get area() { return this._ancho * this._alto; }
7  set ancho(valor) {
8    if (valor <= 0) throw new Error("Ancho inválido");
9    this._ancho = valor;
10  }
11}

Ejemplos de Código

3 ejemplos

Método estático

javascript
1class Producto {
2  constructor(nombre, precio) {
3    this.nombre = nombre;
4    this.precio = precio;
5  }
6  static comparar(a, b) {
7    return a.precio - b.precio;
8  }
9}

Arrow con this

javascript
1class Boton {
2  constructor(label) {
3    this.label = label;
4    this.clicks = 0;
5  }
6  onClick = () => {
7    this.clicks++;
8    console.log(`${this.label}: ${this.clicks}`);
9  };
10}

Propiedad calculada

javascript
1class Producto {
2  constructor(precio, descuento) {
3    this.precio = precio;
4    this.descuento = descuento;
5  }
6  get precioFinal() {
7    return this.precio * (1 - this.descuento);
8  }
9}

Recursos

3 recursos disponibles

¡Hora de Practicar!

PrácticaIntermedio15 min

Práctica guiada - Sistema de tareas

Práctica

Implementar clases Tarea y ListaTareas con getters, setters y métodos de estado.

Desafío de Código

EjercicioIntermedio15 min

Ejercicios - Clases y validación

Ejercicios

(1) Crear clase Estudiante con métodos, (2) validación con setters, (3) promedio de calificaciones.

Documentación Oficial

DocumentaciónIntermedio15 min

MDN - Classes

Referencia oficial de clases y herencia.

ALVESC ACADEMY - Plataforma Educativa