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.
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í
}
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;
}
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.
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;
}
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.
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.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios
Gracias por el post! realmente muy informativo y con muy buena claridad para explicar.. Muchas Gracias nuevamente!