TS2425
Class
MyBaseClassdefines instance member propertylogMyVariable, but extended classMyExtendedClassdefines it as instance member function.
Broken Code ❌
abstract class MyBaseClass {
myVariable: string;
abstract logMyVariable: () => void;
}
export class MyExtendedClass extends MyBaseClass {
logMyVariable() {
console.log(this.myVariable);
}
}Fixed Code ✔️
To turn a function into a property of an instance member, you can use a class property initializer:
class MyBaseClass {
myVariable: string;
abstract myVariable = '123';
}
export class MyExtendedClass extends MyBaseClass {
logMyVariable = () => {
console.log(this.myVariable);
};
}