tests/cases/compiler/thisInOuterClassBody.ts(5,16): error TS2334: 'this' cannot be referenced in a static property initializer. tests/cases/compiler/thisInOuterClassBody.ts(12,22): error TS2339: Property 'y' does not exist on type 'Foo'. tests/cases/compiler/thisInOuterClassBody.ts(18,22): error TS2339: Property 'x' does not exist on type 'typeof Foo'. ==== tests/cases/compiler/thisInOuterClassBody.ts (3 errors) ==== class Foo { x = this; static y = this; ~~~~ !!! error TS2334: 'this' cannot be referenced in a static property initializer. bar() { this.x; // 'this' is type 'Foo' var f = () => this.x; // 'this' should be type 'Foo' as well var p = this.y; ~ !!! error TS2339: Property 'y' does not exist on type 'Foo'. return this; } static bar2() { var a = this.y; var b = this.x; ~ !!! error TS2339: Property 'x' does not exist on type 'typeof Foo'. } }