阶乘

计算一个数的阶乘。

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

factorial(6); // 720