JSFiddle - React, Tailwind, and code Playground

JavaScript 1.7

function* fact (n) {
  var res = 1;
  if (n < 2) {
    yield 1;
  } else {
    yield* (n * fact(n-1));
  }
}

var b = fact(5);
console.log(b.next());