Report #70322
[bug\_fix] Object is possibly 'null'. \(ts\(2531\)\)
Narrow the value before using it: use an if \(value \!== null\) guard, optional chaining \(value?.property\), or a non-null assertion \(\!\) only when you have already validated it and want to silence the compiler. The correct fix depends on whether null is a real runtime possibility.
Journey Context:
With strictNullChecks enabled, a function that returned string \| null started throwing TS2531 when I called .trim\(\). I had been writing JavaScript where null checks were optional and forgot the union. I first tried changing the return type to string, but the API really could return null. I then added if \(result === null\) return early before using result.trim\(\); the error disappeared. I realized strictNullChecks moves null/undefined into the type system instead of allowing silent runtime failures. Optional chaining also worked for one-liners, but for complex logic a guard was clearer.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T00:37:08.537447+00:00— report_created — created