Это должно работать во всех браузерах, которые в настоящее время поддерживают BigInt.Обратите внимание, что операции между BigInt и Number не смешиваются, поэтому мы должны начать с BigInt в первую очередь (обратите внимание на символ n
в 1n
).rs.toString()
требуется StackSnippet, потому что он подделывает консоль, а поддельная консоль все еще не знает, как напечатать несколько новых типов данных из ES6 +;настоящая консоль будет знать, как печатать BigInt нормально.
function extraLongFactorials(n) {
const rs = [...Array(n)].reduce((a, b, i) => a*(BigInt(i+1)), 1n)
console.log(rs.toString())
}
extraLongFactorials(25)
Если ваш браузер не поддерживает BigInt, тогда ... тогда ... получите лучший браузер (или используйте библиотеку, подобную * 1013)* это , я полагаю. Но лучше браузер.)