no-meaningless-void-operator
Disallow the
voidoperator except when used to discard a value.
Extending "plugin:@typescript-eslint/strict-type-checked" in an ESLint configuration enables this rule.
Some problems reported by this rule are automatically fixable by the --fix ESLint command line option.
Some problems reported by this rule are manually fixable by editor suggestions.
This rule requires type information to run, which comes with performance tradeoffs.
void in TypeScript refers to a function return that is meant to be ignored.
The void operator is a useful tool to convey the programmer's intent to discard a value.
For example, it is recommended as one way of suppressing @typescript-eslint/no-floating-promises instead of adding .catch() to a promise.
This rule helps an authors catch API changes where previously a value was being discarded at a call site, but the callee changed so it no longer returns a value.
When combined with no-unused-expressions, it also helps readers of the code by ensuring consistency: a statement that looks like void foo(); is always discarding a return value, and a statement that looks like foo(); is never discarding a return value.
This rule reports on any void operator whose argument is already of type void or undefined.
- Flat Config
- Legacy Config
export default tseslint.config({
rules: {
"@typescript-eslint/no-meaningless-void-operator": "error"
}
});
module.exports = {
"rules": {
"@typescript-eslint/no-meaningless-void-operator": "error"
}
};
Try this rule in the playground ↗