TypeScript/tests/baselines/reference/collisionThisExpressionAndNameResolution.js

30 lines
857 B
JavaScript
Raw Normal View History

2014-07-13 01:04:16 +02:00
//// [collisionThisExpressionAndNameResolution.ts]
var console : {
log(message: any);
}
class Foo {
x() {
var _this = 10; // Local var. No this capture in x(), so no conflict.
function inner() {
console.log(_this); // Error as this doesnt not resolve to user defined _this
return x => this; // New scope. So should inject new _this capture into function inner
}
}
}
//// [collisionThisExpressionAndNameResolution.js]
var console;
var Foo = (function () {
function Foo() {
}
Foo.prototype.x = function () {
var _this = 10; // Local var. No this capture in x(), so no conflict.
2014-07-13 01:04:16 +02:00
function inner() {
var _this = this;
console.log(_this);
return function (x) { return _this; };
}
};
return Foo;
})();