Description
Before You File a Proposal Please Confirm You Have Done The Following...
- I have searched for related issues and found none that match my proposal.
- I have searched the current rule list and found no rules that match my proposal.
- I have read the FAQ and my problem is not listed.
My proposal is suitable for this project
- I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).
Link to the rule's documentation
https://typescript-eslint.io/rules/prefer-optional-chain/
Description
I propose that the prefer-optional-chain
rule should also check for !foo || !foo.bar
the boolean alternative form of !(foo && foo.bar)
to be suggested as !foo?.bar
Fail
!foo || !foo.bar;
!foo || !foo[bar];
!foo || !foo.bar || !foo.bar.baz || !foo.bar.baz();
Pass
!foo?.bar;
!foo?.[bar];
!foo?.bar?.baz?.();
Additional Info
Willing to open a PR