Im folgenden Code sagt der Typescript-Compiler, dass die Eigenschaft 'doit' beim Typ 'nie' nicht existiert. Könnte das ein Compiler Bug sein?Eigenschaft 'x' existiert nicht für den Typ 'nie'
class X {
public foo(): void {
if (this instanceof Y) {
} else {
this.doit();
}
}
private doit(): void {
}
}
class Y extends X {
}
fand ich die folgende Abhilfe:
const temp = (this instanceof Y);
if (temp) {
} else {
this.doit();
}
Der Compiler nicht mit diesem Ersatz Code irgendwelche Probleme hat, was wiederum führt mich dort zu vermuten, dass hier ein Compiler Fehler ist.
Es ist ein Hack aus Legacy-Gründen erforderlich, d. H. Der Quellcode von Y kann nicht geändert werden. – user2486738