typescript/no-non-null-asserted-optional-chain Correctness
What it does
Disallow non-null assertions after an optional chain expression.
Why is this bad?
?.
optional chain expressions provide undefined if an object is null or undefined. Using a !
non-null assertion to assert the result of an ?.
optional chain expression is non-nullable is likely wrong.
Most of the time, either the object was not nullable and did not need the ?.
for its property lookup, or the !
is incorrect and introducing a type safety hole.
Example
ts
foo?.bar!;
foo?.bar()!;