// 'this' is lexically scoped in arrow functions | |
var obj = { | |
f: function (expected) { | |
assertEq(this, expected); | |
return a => this; | |
} | |
}; | |
var g = obj.f(obj); | |
assertEq(g(), obj); | |
var obj2 = {f: obj.f}; | |
var g2 = obj2.f(obj2); | |
assertEq(g2(), obj2); | |
assertEq(g(), obj); | |