tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts(14,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts(10,11): error TS2339: Property 'z' does not exist on type 'C'. ==== tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts (2 errors) ==== class C { x = this; foo() { return this; } constructor(x: number) { var t = this; t.x; t.y; t.z; ~ !!! error TS2339: Property 'z' does not exist on type 'C'. var r = t.foo(); } get y() { ~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. return this; } } var c: C; // all ok var r = c.x; var ra = c.x.x.x; var r2 = c.y; var r3 = c.foo(); var rs = [r, r2, r3]; rs.forEach(x => { x.foo; x.x; x.y; });