阶乘

计算一个数的阶乘。

  • 使用递归。
  • 如果 n 小于等于 1,返回 1。
  • 否则,返回 n 与 n - 1 的阶乘的乘积。
  • 如果 n 是负数,抛出 TypeError。
const factorial = n =>
  n < 0
    ? (() => {
        throw new TypeError('不允许使用负数!');
      })()
    : n <= 1
    ? 1
    : n * factorial(n - 1);

factorial(6); // 720