TS4120
TypeScriptERRORNotableDeclarationHIGH confidence

This parameter property must have a JSDoc comment with an '@override' tag bec...

Production Risk

Build will fail; resolve before shipping.

What this means

A declaration emit error (TS4120): This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class 'X'.. This diagnostic is emitted by the TypeScript compiler when this parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class 'X'..

Why it happens
  1. 1Incorrect TypeScript syntax or type usage
  2. 2Type mismatch between declared and actual value
How to reproduce

TypeScript compiler reports TS4120 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS4120
// This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class 'X'.

expected output

error TS4120: This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class 'X'.

Fix

Implement all abstract members

WHEN Extending an abstract class

Implement all abstract members
abstract class Base {
  abstract doWork(): void;
}
class Derived extends Base {
  doWork(): void { /* implementation */ }
}

Why this works

All abstract members must be implemented in concrete subclasses.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors