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
|
=== tests/cases/compiler/thisInLambda.ts ===
class Foo {
>Foo : Foo
x = "hello";
>x : string
>"hello" : "hello"
bar() {
>bar : () => void
this.x; // 'this' is type 'Foo'
>this.x : string
>this : this
>x : string
var f = () => this.x; // 'this' should be type 'Foo' as well
>f : () => string
>() => this.x : () => string
>this.x : string
>this : this
>x : string
}
}
function myFn(a:any) { }
>myFn : (a: any) => void
>a : any
class myCls {
>myCls : myCls
constructor () {
myFn(() => {
>myFn(() => { myFn(() => { var x = this; }); }) : void
>myFn : (a: any) => void
>() => { myFn(() => { var x = this; }); } : () => void
myFn(() => {
>myFn(() => { var x = this; }) : void
>myFn : (a: any) => void
>() => { var x = this; } : () => void
var x = this;
>x : this
>this : this
});
});
}
}
|