Open KTibow opened 2 years ago
Un-functionify stuff
Small issue this could introduce is that for example, if _0x9b11dd
is already defined on the outer scope, it could modify the behaviour of the program at runtime.
I'd say its best to play it safe and only apply it to the currently handled case of
let f = (function () {
return function actualFunction(foo) {/* Contents */}
})();
(Seems to not be on the website version but works with the git repo)
To add a few pet peeves of mine:
// All elements are known, this can be statically parsed to a string (Might even be possible with variables but let's not get ahead of ourselves)
let a = ['a', 'b', 'c'].join("")
let b = function () {}
// Any of the following can be simplified to a normal function call (with the possibility of args as well)
b.bind(this)()
b.call(this)
b.apply(this)
// Simplification for functions like
// add, sub, mul, div, xor, left/right shift...
function sum(a, b) {
return a+b
}
let c = sum(2, 3) // Can be substituted with 2 + 3 or even directly 5
A couple things:
into
into