close

no-unused-expressions

Configuration

PresetConfigured Value
✅ ts.configs.recommended"error"
rslint.config.ts
import { defineConfig, ts } from '@rslint/core';

export default defineConfig([
  ts.configs.recommended,
  {
    rules: {
      '@typescript-eslint/no-unused-expressions': 'error',
    },
  },
]);

Rule Details

Disallow unused expressions. An unused expression is an expression that is evaluated but whose result is not used. This can indicate a mistake or a misunderstanding of the code.

Examples of incorrect code for this rule:

0;
a;
f(), {};
a && b();
foo.bar;
foo as any;
<any>foo;
foo!;
Foo<string>;

Examples of correct code for this rule:

a = b;
a();
new Foo();
delete foo.bar;
void 0;
'use strict';
import('./foo');
foo?.();

Options

  • allowShortCircuit (default: false): Allow short-circuit evaluations (e.g., a && a()).
  • allowTernary (default: false): Allow ternary expressions (e.g., a ? b() : c()).
  • allowTaggedTemplates (default: false): Allow tagged template literals.
  • enforceForJSX (default: false): Enforce the rule for JSX elements.
  • ignoreDirectives (default: false): Ignore directive prologues.

Original Documentation