//// [genericConstructExpressionWithoutArgs.ts] class B { } var b = new B; // no error class C { x: T; } var c = new C // C var c2 = new C // error, type params are actually part of the arg list so you need both //// [genericConstructExpressionWithoutArgs.js] var B = (function () { function B() { } return B; })(); var b = new B; // no error var C = (function () { function C() { } return C; })(); var c = new C; // C var c2 = new C(); // error, type params are actually part of the arg list so you need both