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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
class Bug {
private name: string;
private static func: Function[] = [
(that: Bug, name: string) => {
that.foo(name);
}
];
private foo(name: string) {
this.name = name;
}
}
// Valid use of this in a property bound decl
class A {
prop1 = function() {
this;
};
prop2 = function() {
function inner() {
this;
}
() => this;
};
prop3 = () => {
function inner() {
this;
}
};
prop4 = {
a: function() { return this; },
};
prop5 = () => {
return {
a: function() { return this; },
};
};
}
class B {
prop1 = this;
prop2 = () => this;
prop3 = () => () => () => () => this;
prop4 = ' ' +
function() {
} +
' ' +
(() => () => () => this);
prop5 = {
a: () => { return this; }
};
prop6 = () => {
return {
a: () => { return this; }
};
};
}
|