TS2532
El objeto puede ser undefined
Object is possibly 'undefined'.Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
Se lee una propiedad directamente de una expresión cuyo resultado puede ser `undefined`.
Reproducción
function find(): { name: string } | undefined {
return undefined
}
find().nameLa compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
La firma informa honestamente de que puede no haber resultado. Acceder enseguida a una propiedad ignora esa rama y no hay una variable estable que el análisis de flujo pueda estrechar antes.
Arreglos
- 01
function find(): { name: string } | undefined { return undefined } const result = find() if (result) { result.name }Guarda el resultado, compruébalo y usa la variable estrechada.
- 02
function find(): { name: string } | undefined { return undefined } const name = find()?.name ?? 'anonymous'Usa encadenamiento opcional cuando la ausencia deba conducir a un valor alternativo.
Conclusión
Trata `undefined` como una rama que manejar, no como un aviso que silenciar.
