TS4113
error TS4113: This member cannot have an ‘override
‘ modifier because it is not declared in the base class ‘MyBaseClass
‘.
Broken Code ❌
1 2 3 4 5 6 7 8 9 10 11
| class MyBaseClass { sayHello(): string { return 'Hello!'; } }
class MyDerivedClass extends MyBaseClass { override sayWelcome(): string { return 'Welcome!'; } }
|
Fixed Code ✔️
You can only override functions in our derived class when those exist in our base class. We can solve the error by overwriting an existing function:
1 2 3 4 5 6 7 8 9 10 11
| class MyBaseClass { sayHello(): string { return 'Hello!'; } }
class MyDerivedClass extends MyBaseClass { override sayHello(): string { return 'Welcome!'; } }
|
Depending on our use case, we can also remove the override
modifier:
1 2 3 4 5 6 7 8 9 10 11
| class MyBaseClass { sayHello(): string { return 'Hello!'; } }
class MyDerivedClass extends MyBaseClass { sayWelcome(): string { return 'Welcome!'; } }
|