0Pricing
TypeScript Academy · Lección

Clases y constructores de TypeScript

Defina clases con propiedades y constructores tipados.

Clases y constructores de TypeScript es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 4 lecciones en total.

Bienvenida

Las clases de TypeScript son clases de JavaScript con anotaciones de tipos. Combinan datos y comportamiento en una estructura tipada y orientada a objetos.

Declaración de clase con propiedades

Declare las propiedades de la clase al principio de esta, junto con sus tipos. TypeScript comprueba todos sus usos.
class Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }
}

Forma abreviada de las propiedades de parámetros

Anteponiendo un modificador de acceso a los parámetros del constructor, se crea e inicializa automáticamente una propiedad de la clase.
class Person {
  constructor(
    public name: string,
    private age: number
  ) {} // properties created automatically
}

Métodos tipados

Los métodos de clase utilizan las mismas anotaciones de tipos para parámetros y valores devueltos que las funciones normales.
class Calculator {
  add(a: number, b: number): number {
    return a + b;
  }
}

Getters y setters

Use las palabras clave get y set para crear propiedades calculadas. TypeScript comprueba sus tipos.
class Circle {
  constructor(private radius: number) {}
  get area(): number { return Math.PI * this.radius ** 2; }
  set r(v: number) { this.radius = v; }
}

Una clase como tipo

Una clase define tanto un valor (la función constructora) como un tipo (la estructura de la instancia). Use el nombre de la clase como anotación de tipo.
class Dog { name = 'Rex'; bark() { return 'Woof'; } }
const d: Dog = new Dog();

Miembros estáticos

Las propiedades y los métodos estáticos pertenecen a la propia clase, no a sus instancias. Acceda a ellos mediante el nombre de la clase.
class MathHelper {
  static PI = 3.14159;
  static square(n: number): number { return n * n; }
}
console.log(MathHelper.PI);

Herencia de clases

Use `extends` para heredar de una clase base. Llame a `super()` en el constructor para inicializar la clase principal.
class Animal {
  constructor(public name: string) {}
  speak(): string { return '...'; }
}
class Dog extends Animal {
  speak(): string { return 'Woof!'; }
}

Clases abstractas

Las clases abstractas no se pueden instanciar. Definen un contrato que las subclases deben implementar.
abstract class Shape {
  abstract area(): number;
  describe(): string { return `Area: ${this.area()}`; }
}
class Square extends Shape {
  constructor(private side: number) { super(); }
  area() { return this.side ** 2; }
}

Tipo `this` en las clases

El tipo `this` hace referencia al tipo de la instancia actual, lo que permite crear API fluidas o de tipo builder con tipos de retorno correctos.
class Builder {
  private parts: string[] = [];
  add(p: string): this { this.parts.push(p); return this; }
  build(): string { return this.parts.join(','); }
}

Clase frente a interfaz y tipo

Las clases son valores en tiempo de ejecución con constructores. Las interfaces y los alias de tipo son estructuras de tipos que solo existen en tiempo de compilación. Use clases cuando necesite instanciación y métodos.

Comprobación rápida

¿Qué efecto tiene anteponer `public` a un parámetro del constructor en TypeScript?

Resumen

Las clases de TypeScript añaden tipos a las clases de JavaScript. Use propiedades de parámetros para declaraciones concisas, modificadores de acceso para la encapsulación y clases abstractas para exigir contratos a las subclases.

Preguntas frecuentes

¿La lección «Clases y constructores de TypeScript» es gratis?

Sí — el texto completo de «Clases y constructores de TypeScript» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Clases y constructores de TypeScript»?

Defina clases con propiedades y constructores tipados. Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar TypeScript Academy?

No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Clases y constructores de TypeScript»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?

Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Clases y constructores de TypeScript
  2. Modificadores public, private y protected
  3. Propiedades readonly y propiedades de parámetros
  4. Implementación de interfaces con clases
← Volver a TypeScript Academy