Update another test

This commit is contained in:
Anders Hejlsberg 2017-03-01 06:31:34 -08:00
parent f77cd8e54b
commit 9d1b325e09
3 changed files with 33 additions and 0 deletions

View file

@ -0,0 +1,29 @@
tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts(15,5): error TS7023: 'f' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts(16,21): error TS2339: Property 'spaaace' does not exist on type '{ f(): any; }'.
==== tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts (2 errors) ====
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() {
~
!!! error TS7023: 'f' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
return this.spaaace;
~~~~~~~
!!! error TS2339: Property 'spaaace' does not exist on type '{ f(): any; }'.
}
};
var obj: { f: () => any; };

View file

@ -1,4 +1,5 @@
//// [thisInObjectLiterals.ts]
class MyClass {
t: number;

View file

@ -1,3 +1,6 @@
// @noImplicitAny: true
// @noImplicitThis: true
class MyClass {
t: number;