TypeScript

Ejemplo de una clase en TypeScript

En este post te mostraré un ejemplo de clase en TypeScript en donde vamos a definir métodos, propiedades y constructores.

También veremos un ejemplo de la sobrecarga de constructores en TypeScript.

Definición de una clase

Para definir una clase se usa la palabra class, seguida del nombre de la clase. El cuerpo de la clase va dentro de llaves. Así:

class Cliente {
  // Magia aquí
}

Propiedades de una clase

Las propiedades (al igual que las funciones o métodos) de una clase en TypeScript pueden ser protected, private o public. Se definen con su tipo. La sintaxis es:

[acceso] nombre_propiedad: tipo;

Veamos un ejemplo:

class Cliente {
  public id: number;
  public nombre: string;
  public telefono: string;
}

Constructor

Con TypeScript es un poco complejo manejar la sobrecarga de constructores. Sin embargo, puede definirse un solo constructor y definir parámetros opcionales. En el siguiente ejemplo tenemos al id que es opcional, así que tenemos “dos constructores”:

constructor(nombre: string, telefono: string, id?: number) {
  this.id = id ? id : -1;
  this.nombre = nombre;
  this.telefono = telefono;
}

Como ves, compruebo si el id no está definido, y en caso de que sí, entonces lo defino como -1. Esto es lo que se haría en un constructor alterno: definir el valor por defecto.

Métodos

Finalmente veamos las funciones o métodos que una clase puede tener. La sintaxis es:

[acceso] nombreFuncion() [: valor_retorno ]{}

Por ejemplo:

public nombreConTelefono(): string {
  return this.nombre + ' ' + this.telefono;
}

Ejemplo completo de la clase

El código completo queda así:

class Cliente {
  public id: number;
  public nombre: string;
  public telefono: string;


  constructor(nombre: string, telefono: string, id?: number) {
    this.id = id ? id : -1;
    this.nombre = nombre;
    this.telefono = telefono;
  }

  public nombreConTelefono(): string {
    return this.nombre + ' ' + this.telefono;
  }
}

A partir del ejemplo puedes crear tus propias clases, espero que te sirva para aprender sobre las clases en TS.

Instanciar clase

Finalmente, por si no lo sabes, para crear una instancia, o un objeto a partir de la clase, se hace lo siguiente:

// Así, indicando el tipo
let cliente: Cliente = new Cliente('Luis', '123456789');
// O dejando que el tipo se infiera ;)
let otroCliente = new Cliente('Luis', '123456789');

Puedes usar let, const o var.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Gracias por el post! realmente muy informativo y con muy buena claridad para explicar.. Muchas Gracias nuevamente!

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.