No existe esa propiedad
Property 'b' does not exist on type '{ a: number; }'.Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
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.
Reproducción
declare const o: { a: number } o.b
La compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
Los tipos de objeto son exactos sobre lo que contienen. El compilador no dice que la propiedad falte en tiempo de ejecución — bien puede estar — sino que nada en el programa dijo que estaría, así que nada puede asumirse sobre ella. Cuando el valor viene de JSON o de una API, este error suele tener razón y el que miente es el tipo.
Arreglos
- 01
declare const o: { a: number; b: string } o.b
Añádela al tipo, si el valor de verdad la lleva. El tipo es una descripción; haz que describa la verdad.
- 02
declare const o: { a: number; b?: string } if (o.b !== undefined) { o.b.trim() }
O márcala como opcional y compruébala, si a veces está. Es la forma que se corresponde con la realidad para todo lo que se analiza en vez de construirse.
Conclusión
Este error es un desacuerdo entre tu tipo y tu valor. Decide cuál de los dos está equivocado antes de cambiar ninguno.