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?