TypeScript/tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts
2017-03-01 06:31:34 -08:00

21 lines
492 B
TypeScript

// @noImplicitAny: true
// @noImplicitThis: true
class MyClass {
t: number;
fn() {
type ContainingThis = this;
//type of 'this' in an object literal is the containing scope's this
var t = { x: this, y: this.t };
var t: { x: ContainingThis; y: number };
}
}
//type of 'this' in an object literal method is the type of the object literal
var obj = {
f() {
return this.spaaace;
}
};
var obj: { f: () => any; };