Búsqueda de sitios web

typescript - Prevenir errores de escritura en el método constructor


Uno de los errores más comunes específicos de ES6 que he encontrado es la escritura incorrecta del método constructor.

Obviamente, esto no tendrá ningún efecto, porque una clase tiene un método constructor por defecto:

interface IConstructor {
    constructor: Function;
}

class Foo implements IConstructor {
  contructor() { ... }
}

¿Cómo se puede abordar este problema con TypeScript, preferiblemente en tiempo de compilación?

Respuesta #1

La mejor manera de protegerse contra esto y ahorrar al escribir es usar un fragmento en su editor de texto para crear un constructor.

Por ejemplo, en mi editor solo escribo ctor y luego presiono tab y me crea un constructor por defecto. Tendrás que buscar cómo hacer esto en el editor que estés usando. La mayoría de los editores soportan fragmentos (si no, deberías cambiar de editor).

Escribir código adicional solo para prevenir este problema es sin duda exagerado.

Respuesta #2

No puedes protegerte contra ello, no fácilmente.

Puedes solucionarlo, por ejemplo:

class Base {
    protected constructor() {}
}

class A extends Base {
    contructor() { }
}

let a = new A(); // error: Constructor of class 'Base' is protected and only accessible within the class declaration

(código en el área de juegos)

Pero eso está lejos de ser ideal.

Artículos relacionados