TS18047
El valor puede ser null
'value' is possibly 'null'.Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
Se usa un valor anulable como si la rama `null` ya hubiera sido descartada.
Reproducción
function upper(value: string | null) { return value.toUpperCase() }
La compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
Con comprobación estricta de nulos, `string | null` son dos posibilidades reales. Los métodos de `string` solo son seguros cuando el flujo de control demuestra que el valor está en la rama de cadena.
Arreglos
- 01
function upper(value: string | null) { if (value === null) return '' return value.toUpperCase() }
Protege el caso nulo y elige el comportamiento que requiera tu dominio.
- 02
function upper(value: string | null) { return value?.toUpperCase() ?? '' }
Usa encadenamiento opcional con una alternativa explícita para una transformación compacta.
Conclusión
Estrecha los valores anulables donde los usas; una aserción no nula solo traslada el riesgo a ejecución.
