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!';
}
}