🥇 Classes, Constructors (los constructores)

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.