У меня большая база кода, где некоторые члены класса задаются дважды - один раз как метод, а другой явно в конструкторе.
Вот пример того, как это может выглядеть:
class SuperHero {
public name: string;
constructor(name: string) {
this.name = name;
// This line is a problem.
this.hasCape = () => {
return this.name === 'Batman';
};
}
// I want this to be the canonical implementation.
public hasCape() {
return this.name === 'Batman' || this.name === 'Wonder Woman';
}
}
Похоже, public readonly hasCape()
неверный синтаксис.
Есть ли способ применить объявление метода как каноническое на уровне компилятора или линтера?