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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.