close

no-extra-non-null-assertion

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-extra-non-null-assertion': 'error',
    },
  },
]);

Rule Details

Disallow extra non-null assertions.

The ! non-null assertion operator in TypeScript is used to assert that a value's type does not include null or undefined. Using the operator any more than once on a single value does nothing.

Examples of incorrect code for this rule:

const bar = foo!!.bar;
function foo(bar?: { n: number }) {
  return bar!?.n;
}

Examples of correct code for this rule:

const bar = foo!.bar;
function foo(bar?: { n: number }) {
  return bar?.n;
}

Original Documentation

https://typescript-eslint.io/rules/no-extra-non-null-assertion