Errores
Una página por diagnóstico. Cada una lleva una reproducción que de verdad emite ese código, y arreglos que de verdad compilan — ambos comprobados por la compilación, no por nosotros.
Cada reproducción y cada arreglo de estas páginas se compilan al construir el sitio
- TS2300Identificador duplicado
Duplicate identifier 'Result'.El mismo nombre de tipo no fusionable se declaró dos veces en un ámbito.
- TS2304No se encuentra el nombre
Cannot find name 'Missing'.El compilador buscó este nombre en todos los ámbitos que ve y no encontró nada. Suele ser una errata, un tipo sin importar, o un valor usado donde corresponde un tipo.
- TS2312Una interfaz no puede extender una unión
An interface can only extend an object type or intersection of object types with statically known members.Una interfaz intentó heredar de una unión cuyos miembros no se conocen todos a la vez.
- TS2314El tipo genérico necesita argumentos de tipo
Generic type 'Box' requires 1 type argument(s).Se usó un alias genérico sin proporcionar el parámetro de tipo que requiere.
- TS2315El tipo no es genérico
Type 'Label' is not generic.Se proporcionaron argumentos a un alias que no declara parámetros de tipo.
- TS2322No asignable
Type 'number' is not assignable to type 'string'.El error más común de TypeScript. Un valor de un tipo se puso donde se requería otro, y ambos no son compatibles en esa dirección.
- TS2339No existe esa propiedad
Property 'b' does not exist on type '{ a: number; }'.Buscaste una propiedad que el tipo no tiene. A menudo el tipo es correcto y la ortografía no; a veces el tipo es más estrecho que el valor real.
- TS2344No satisface la restricción
Type 'number' does not satisfy the constraint 'string'.Un argumento de tipo fue rechazado en la puerta. El genérico dijo qué aceptaría, y esto no lo es.
- TS2345Tipo de argumento incorrecto
Argument of type 'number' is not assignable to parameter of type 'string'.El mismo fallo de asignabilidad que TS2322, pero en una llamada. Un código aparte porque el arreglo casi siempre está en otro sitio.
- TS2349La expresión no se puede llamar
This expression is not callable.Se usan paréntesis como llamada a función, pero la expresión no tiene firma de llamada.
- TS2351La expresión no se puede construir
This expression is not constructable.El valor después de `new` no tiene firma de constructor, así que no puede crear una instancia.
- TS2352Conversión de tipo sospechosa
Conversion of type 'string' to type 'number' may be a mistake because neither type sufficiently overlaps with the other.Una aserción salta entre tipos no relacionados y no realizará la conversión en tiempo de ejecución que su escritura sugiere.
- TS2355Debe devolver un valor
A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.La firma promete que algo vuelve y el cuerpo nunca lo entrega.
- TS2367Comparación sin solapamiento
This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.Los dos lados nunca pueden ser iguales, así que la comparación siempre es falsa y el compilador asume que no querías escribirla.
- TS2393Implementación de función duplicada
Duplicate function implementation.Dos cuerpos de función comparten nombre en el mismo ámbito; las sobrecargas pueden tener muchas firmas, pero una sola implementación.
- TS2416El miembro no coincide con la base
Property 'm' in type 'K' is not assignable to the same property in base type 'I'.…El miembro existe, por eso no es TS2420 — pero su tipo no es compatible con el que declaró la base.
- TS2420La clase no implementa su interfaz
Class 'L' incorrectly implements interface 'J'.…La clase dijo `implements` y luego no lo hizo. El detalle de debajo nombra exactamente qué falta o qué no encaja.
- TS2456Alias de tipo circular
Type alias 'Loop' circularly references itself.El alias se define en términos de sí mismo sin nada en medio, así que no hay punto alguno en el que signifique algo.
- TS2493Más allá del final de la tupla
Tuple type 'Pair' of length '2' has no element at index '2'.Una tupla sabe exactamente cuánto mide, así que indexar más allá del final es un error de compilación y no un `undefined` que descubres después.
- TS2532El objeto puede ser undefined
Object is possibly 'undefined'.Se lee una propiedad directamente de una expresión cuyo resultado puede ser `undefined`.
- TS2536No puede usarse para indexar
Type 'K' cannot be used to index type 'T'.Indexaste un parámetro de tipo con otro parámetro de tipo, y el compilador no tiene motivos para creer que la clave exista.
- TS2540Propiedad de solo lectura
Cannot assign to 'x' because it is a read-only property.La propiedad está marcada como `readonly`, que es una promesa en tiempo de compilación de no reasignarla — y nada más.
- TS2542Firma de índice de solo lectura
Index signature in type '{ readonly [k: string]: number; }' only permits reading.El objeto acepta cualquier clave de cadena, y todas ellas son de solo lectura. Es TS2540 aplicado a toda una familia de claves a la vez.
- TS2554Número incorrecto de argumentos
Expected 2 arguments, but got 1.La firma de llamada seleccionada requiere más argumentos de los que proporciona esta llamada.
- TS2564Propiedad nunca asignada
Property 'x' has no initializer and is not definitely assigned in the constructor.La clase declara una propiedad a la que nunca se le da un valor, así que cada instancia empezaría con `undefined` en un hueco que el tipo dice que siempre es un número.
- TS2578El error que esperabas ya no está
Unused '@ts-expect-error' directive.Le dijiste al compilador que la línea siguiente fallaría, y no falló. Son buenas noticias informadas como error, y es exactamente para lo que sirve la directiva.
- TS2589Instanciación excesivamente profunda
Type instantiation is excessively deep and possibly infinite.Un tipo recursivo fue más lejos de lo que el compilador está dispuesto a seguir — normalmente unos cincuenta niveles, y casi siempre porque la recursión cuenta en vez de encogerse.
- TS2693Tipo usado como valor en ejecución
'User' only refers to a type, but is being used as a value here.Se hizo referencia a un alias en el espacio de valores, pero los alias se borran del JavaScript emitido.
- TS2739Al objeto le faltan propiedades obligatorias
Type '{}' is missing the following properties from type 'Point': x, yEl tipo de destino requiere varios miembros y el objeto proporcionado no tiene ninguno.
- TS2741Falta una propiedad obligatoria
Property 'b' is missing in type '{ a: number; }' but required in type 'Need'.El objeto tiene la forma correcta hasta donde llega — simplemente no llega lo bastante lejos. Toda propiedad que el destino exige debe estar presente.
- TS2749Valor usado como tipo
'widget' refers to a value, but is being used as a type here. Did you mean 'typeof widget'?Se escribió una variable de ejecución en el espacio de tipos; usa `typeof` para obtener el tipo de ese valor.
- TS2769Ninguna sobrecarga coincide
No overload matches this call.La función tiene varias firmas y los argumentos no encajan en ninguna. El compilador informa entonces de cada intento, y por eso este error es tan largo.
- TS7006El parámetro tiene implícitamente tipo any
Parameter 'value' implicitly has an 'any' type.El modo estricto encontró un parámetro sin anotación ni contexto del que inferir su tipo.
- TS7015Array indexado con algo que no es un número
Element implicitly has an 'any' type because index expression is not of type 'number'.Los arrays describen posiciones numéricas; una clave de texto como `first` no es una de ellas.
- TS7023No se puede inferir el retorno recursivo
'factorial' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.Una función recursiva pide a la inferencia conocer su tipo de retorno antes de que ese mismo tipo se haya establecido.
- TS7031El valor desestructurado tiene any implícito
Binding element 'name' implicitly has an 'any' type.Un patrón de desestructuración nombra un campo, pero el objeto que lo contiene no tiene un tipo conocido.
- TS7053any implícito por un índice de cadena
Element implicitly has an 'any' type because expression of type 'string' can't be used to index typeIndexaste un objeto con un `string` a secas, y el compilador no puede saber a qué propiedad te referías — el resultado sería `any`, y `strict` no lo deja pasar en silencio.
- TS18046Es unknown
'value' is of type 'unknown'.`unknown` es el tipo que se niega a ser usado hasta que demuestres qué es. Esa negativa es toda la característica.
- TS18047El valor puede ser null
'value' is possibly 'null'.Se usa un valor anulable como si la rama `null` ya hubiera sido descartada.
- TS18048Posiblemente undefined
'maybe.a' is possibly 'undefined'.Se usó una propiedad opcional sin comprobarla. Bajo `strictNullChecks`, «opcional» significa que la ausencia forma parte del tipo y hay que gestionarla.

