TypeScript/tests/cases/compiler/noImplicitThisFunctions.ts
2018-08-14 23:02:08 -07:00

24 lines
535 B
TypeScript

// @noImplicitThis: true
function f1(x) {
// implicit any is still allowed
return x + 1;
}
function f2(y: number) {
// ok: no reference to this
return y + 1;
}
function f3(z: number): number {
// error: this is implicitly any
return this.a + z;
}
// error: `this` is `window`, but is still of type `any`
let f4: (b: number) => number = b => this.c + b;
let f5 = () => () => this;
let f6 = function() { return () => this; };
let f7 = function() { return function() { return this } };