The new chrome v8 engine is partially ES7 compliant.
So if we add "use strict";
to top of our file (typescript do that when transpiles typescript) we have to make sure that any functions that are on the global scope are actually assigned to the global scope. so we should use self.functionName
or global.functionName
.