//// [typeofSimple.ts] var v = 3; var v2: typeof v; var v3: string = v2; // Not assignment compatible interface I { x: T; } interface J { } var numberJ: typeof J; //Error, cannot reference type in typeof var numberI: I; var fun: () => I; numberI = fun(); //// [typeofSimple.js] var v = 3; var v2; var v3 = v2; // Not assignment compatible var numberJ; //Error, cannot reference type in typeof var numberI; var fun; numberI = fun();