Почему в консоль выводится undefined и Неверное значение?
function factorial(num) {
let result = 0;
if (typeof(num) == null || String || Object || NaN) {
return console.log(`Неверное значение: ${num}`);
} else {
if (num === 1) {
return result += num;
} else {
for (let i = 0; i < num; i++) {
result = num * factorial(num - 1);
return result;
}
}
};
};
console.log(factorial(4));
Источник: Stack Overflow на русском