Это не возможно, синтаксис в вашем условном выражении действителен на 100%
В некоторых случаях вам нужно проверить объявление метода в условном выражении и запустить некоторый блок кода.
Например:
class Foo {
public isFoo(): boolean {
return true;
}
public get isBar(): boolean {
return false;
}
}
const fooInstance: Foo = new Foo();
if (foo.isFoo) {
console.log('Foo class has method isFoo');
}
if (!foo.isXyz) {
console.log('Foo class does not have method isXyz');
}
const fooMethod: () => boolean = foo.isFoo; // this is also valid syntax
Ни один линтер или компилятор не выдаст ошибку ни для одного из двух сценариев в приведенном выше примере.