1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
=== tests/cases/compiler/thisInOuterClassBody.ts ===
class Foo {
>Foo : Foo
x = this;
>x : this
>this : this
static y = this;
>y : typeof Foo
>this : typeof Foo
bar() {
>bar : () => this
this.x; // 'this' is type 'Foo'
>this.x : this
>this : this
>x : this
var f = () => this.x; // 'this' should be type 'Foo' as well
>f : () => this
>() => this.x : () => this
>this.x : this
>this : this
>x : this
var p = this.y;
>p : any
>this.y : any
>this : this
>y : any
return this;
>this : this
}
static bar2() {
>bar2 : () => void
var a = this.y;
>a : typeof Foo
>this.y : typeof Foo
>this : typeof Foo
>y : typeof Foo
var b = this.x;
>b : any
>this.x : any
>this : typeof Foo
>x : any
}
}
|