TypeScript/tests/baselines/reference/thisInLambda.js

45 lines
948 B
TypeScript

//// [thisInLambda.ts]
class Foo {
x = "hello";
bar() {
this.x; // 'this' is type 'Foo'
var f = () => this.x; // 'this' should be type 'Foo' as well
}
}
function myFn(a:any) { }
class myCls {
constructor () {
myFn(() => {
myFn(() => {
var x = this;
});
});
}
}
//// [thisInLambda.js]
var Foo = (function () {
function Foo() {
this.x = "hello";
}
Foo.prototype.bar = function () {
var _this = this;
this.x; // 'this' is type 'Foo'
var f = function () { return _this.x; }; // 'this' should be type 'Foo' as well
};
return Foo;
})();
function myFn(a) { }
var myCls = (function () {
function myCls() {
var _this = this;
myFn(function () {
myFn(function () {
var x = _this;
});
});
}
return myCls;
})();