Avoid non-null assertion in confusing locations

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: typescript-code-style/no-confusing-non-null-assertion

Language: TypeScript

Severity: Warning

Category: Error Prone

Description

Using a non-null assertion (!) next to an assign or equals check (= or == or ===) could be confusing.

Non-Compliant Code Examples

a! == b;
a! === b;
a + b! == c;
(obj = new new OuterObj().InnerObj).Name! == c;
(a==b)! ==c;
a! = b;
(obj = new new OuterObj().InnerObj).Name! = c;
(a=b)! =c;

Compliant Code Examples

a == b!;
a = b!;
a !== b;
a != b;
(a + b!) == c;
(a + b!) = c;
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis