TS2393
Implementación de función duplicada
Duplicate function implementation.Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
Dos cuerpos de función comparten nombre en el mismo ámbito; las sobrecargas pueden tener muchas firmas, pero una sola implementación.
Reproducción
function parse(value: string) { return value } function parse(value: number) { return value }
La compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
JavaScript no despacha entre declaraciones con el mismo nombre según el tipo del parámetro; la posterior reemplazaría a la anterior. Las sobrecargas de TypeScript separan varias firmas solo de tipo de un único cuerpo emitido.
Arreglos
- 01
function parse(value: string): string function parse(value: number): number function parse(value: string | number): string | number { return value }
Escribe las firmas de sobrecarga seguidas de una implementación suficientemente amplia para manejarlas todas.
- 02
function parseText(value: string) { return value } function parseNumber(value: number) { return value }
Da nombres distintos a operaciones distintas cuando no necesiten una API sobrecargada común.
Conclusión
Un conjunto de sobrecargas tiene muchas declaraciones, pero exactamente un cuerpo.
