unicorn/no-null Style
What it does
Disallow the use of the null literal, to encourage using undefined instead.
Why is this bad?
There are some reasons for using undefined instead of null.
- From experience, most developers use
nullandundefinedinconsistently and interchangeably, and few know when to use which. - Supporting both
nullandundefinedcomplicates input validation. - Using
nullmakes TypeScript types more verbose:type A = {foo?: string | null}vstype A = {foo?: string}.
Examples
Examples of incorrect code for this rule:
javascript
let foo = null;Examples of correct code for this rule:
javascript
let foo;Configuration
This rule accepts a configuration object with the following properties:
checkStrictEquality
type: boolean
default: false
When set to true, the rule will also check strict equality/inequality comparisons (=== and !==) against null.
How to use
To enable this rule in the CLI or using the config file, you can use:
bash
oxlint --deny unicorn/no-nulljson
{
"rules": {
"unicorn/no-null": "error"
}
}