In Typescript 2.5.2 following does not work:
interface I {
m?():void;
}
class C implements I {
}
let c = new C();
c.m(); <== Error : TS2339:Property 'm' does not exist on type 'C'.
Why is the m method not found?
If I add:
interface C extends I {}
It's ok! Or if I add:
let c = new C() as C & I;
It's ok too.
As I understand implements should combine C and I types as C & I.
Is it an issue?