Skip to content
Critiq Docs

Search docs

Search documentation pages and rules

correctness.language

Use Number.isNaN for NaN checks

Do not compare values to NaN with `===` or `==`.

#Metadata

Rule ID
ts.correctness.use-number-is-nan
Severity
medium
Confidence
0.95
Languages
javascript, typescript
Presets
recommended, strict
Stability
stable
Applies to
file
Tags
correctness, crq-cor-029, language, rules-catalog

#Why it matters

NaN is not equal to itself; identity comparisons are always false.

#Remediation

Use `Number.isNaN(value)` (or `Number.isNaN` after coercion) instead of `value === NaN`.

#Repository path

The generated metadata points to critiq-rules/libs/rules/catalog/rules/typescript/ts.correctness.use-number-is-nan.rule.yaml.