function shouldBe(actual, expected) { | |
if (actual !== expected) | |
throw new Error(`bad value: ${String(actual)}`); | |
} | |
var global = this; | |
for (var i = 0; i < 100; ++i) { | |
(() => { | |
// |this| should reference to the global one. | |
shouldBe(eval("this"), global); | |
})(); | |
} | |
for (var i = 0; i < 100; ++i) { | |
var THIS = {}; | |
(function test() { | |
// |this| should reference to the function's one. | |
shouldBe(eval("this"), THIS); | |
}).call(THIS); | |
} |