Files
30-seconds-of-code/snippets/factorial.md
30secondsofcode f47b1fa5b7 Travis build: 1306
2019-07-19 16:23:29 +00:00

449 B

factorial

Calculates the factorial of a number.

Use recursion. If n is less than or equal to 1, return 1. Otherwise, return the product of n and the factorial of n - 1. Throws an exception if n is a negative number.

const factorial = n =>
  n < 0
    ? (() => {
      throw new TypeError('Negative numbers are not allowed!');
    })()
    : n <= 1
      ? 1
      : n * factorial(n - 1);
factorial(6); // 720