1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
//// [thisTypeInAccessorsNegative.ts]
interface Foo {
n: number;
x: number;
}
interface Bar {
wrong: "place" | "time" | "method" | "technique";
}
const mismatch = {
n: 13,
get x(this: Foo) { return this.n; },
set x(this: Bar, n) { this.wrong = "method"; }
}
const contextual: Foo = {
n: 16,
// there is no contextual this type from an Foo.x.
get x() { return this.n; }
}
//// [thisTypeInAccessorsNegative.js]
var mismatch = {
n: 13,
get x() { return this.n; },
set x(n) { this.wrong = "method"; }
};
var contextual = {
n: 16,
// there is no contextual this type from an Foo.x.
get x() { return this.n; }
};
|