Los constructores son muy similares a las funciones. Se pueden agregar parámetros que incluyen anotaciones acerca de su tipo, valor por default y sobrecarga.
class Punto {
x: number;
y: number;
// asignatura normal utilizando valores por default
constructor(x = 10, y = 10) {
this.x = x;
this.y = y;
}
}
let miPunto = new Punto();
console.log(miPunto.x);
console.log(miPunto.y);
Salida del programa…
10
10
Sobrecarga del constructor
Como se mencionó también podemos usar la sobrecarga para definir varias formas de trabajar del constructor.
class Punto {
// uso de sobrecarga
constructor(x: number, y: number);
constructor(s: string);
constructor(xs: number | string, y?: number) {}
}
Existen algunas diferencias entre la firma de un constructor y de una función.
- Los constructores no pueden tener tipos en sus parámetros, estos se hacen fuera de la declaración de la clase.
- Los constructores no pueden retornar anotaciones de tipo, la instancia de la clase siempre es retornada.