TypeScript/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.js

35 lines
1.3 KiB
TypeScript

//// [tests/cases/compiler/classMemberInitializerWithLamdaScoping3.ts] ////
//// [classMemberInitializerWithLamdaScoping3_0.ts]
var field1: string;
//// [classMemberInitializerWithLamdaScoping3_1.ts]
declare var console: {
log(msg?: any): void;
};
export class Test1 {
constructor(private field1: string) {
}
messageHandler = () => {
console.log(field1); // But this should be error as the field1 will resolve to var field1
// but since this code would be generated inside constructor, in generated js
// it would resolve to private field1 and thats not what user intended here.
};
}
//// [classMemberInitializerWithLamdaScoping3_0.js]
var field1;
//// [classMemberInitializerWithLamdaScoping3_1.js]
var Test1 = (function () {
function Test1(field1) {
this.field1 = field1;
this.messageHandler = function () {
console.log(field1); // But this should be error as the field1 will resolve to var field1
// but since this code would be generated inside constructor, in generated js
// it would resolve to private field1 and thats not what user intended here.
};
}
return Test1;
})();
exports.Test1 = Test1;