- Error
- Reported by the type checker
TS4114
This member must have an 'override' modifier because it overrides a member in the base class '{0}'.
Under noImplicitOverride, a member replaces a base class member without the override keyword. Add override.
What it means
With noImplicitOverride on, every member that replaces a base class member must say so with override. That way, renaming or removing the base member makes the subclass fail to compile instead of silently becoming a new member.
Example
{
"compilerOptions": {
"strict": true,
"target": "es2022",
"module": "esnext",
"moduleResolution": "bundler",
"noEmit": true,
"noImplicitOverride": true
}
}
class Base {
start() {}
}
class Child extends Base {
start() {}
}
export {};
ts-r-check -p tsconfig.json --pretty false ts-r outputindex.ts(5,3): error TS4114: This member must have an 'override' modifier because it overrides a member in the base class 'Base'.
Recorded by node scripts/verify-examples.mjs with ts-r built from commit 6deaf01.
How to fix
- Add
override:override start() {}.