Hallo Christian,
Nein.
arguments.callee
ist inzwischen deprecated, seitdem kann man sowas nur über einen Combinator nachbauen (z.B. einen U combinator):const U = f => f(f); const faculty = U(f => x => x === 0 ? 1 : x * U(f)(x - 1)); console.log(faculty(5))
Wenn ich so drüber nachdenke, wäre ein Y combinator besser geeignet:
const U = f => f(f);
const Y = U(h => f => f(x => U(h)(f)(x)));
const faculty = Y(f => x => x === 0 ? 1 : x * f(x - 1));
console.log(faculty(5));
faculty
wird dadurch einfacher verständlich.
Wen die verschieden combinator-Arten interessieren, dem kann ich da nur die Wikipedia ans Herz legen; leider ist die deutsche Variante davon wirklich schlecht 😟
LG,
CK