non-nullable-type-assertion-style
Enforce non-null assertions over explicit type casts.
This rule detects when an as
cast is doing the same job as a !
would, and suggests fixing the code to be an !
.
Attributes
- Included in configs
- ✅ Recommended
- 🔒 Strict
- Fixable
- 🔧 Automated Fixer
- 💡 Suggestion Fixer
- 💭 Requires type information
Rule Details
Examples of code for this rule:
- ❌ Incorrect
- ✅ Correct
const maybe = Math.random() > 0.5 ? '' : undefined;
const definitely = maybe as string;
const alsoDefinitely = <string>maybe;
const maybe = Math.random() > 0.5 ? '' : undefined;
const definitely = maybe!;
const alsoDefinitely = maybe!;
Options
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/non-nullable-type-assertion-style": "warn"
}
};
This rule is not configurable.
When Not To Use It
If you don't mind having unnecessarily verbose type casts, you can avoid this rule.