(function (f) { return f(f); })(function (func) { return function (n) { return n === 0 ? 1 : n * func(func)(n - 1); }; })(19);
[1] https://babeljs.io/repl/
[1] https://babeljs.io/repl/