Здравствуйте!
Результат кода - undefined. Подскажите, пожалуйста, как правильно использовать тернарные операторы в JS-функциях и вообще можно ли их использовать таким образом?
var f = function fact(x) {x <=1 ? 1 : x * fact(x-1)};
document.write(f(3));
Вы забыли вернуть из функции значение
var f = function fact(x) { return x <= 1 ? 1 : x * fact(x-1)};
document.write(f(3));
Вариант в стиле шик-модерн:
const f = x => x <= 1 ? 1 : x * f(x-1);
console.log(f(3));
Тернарный оператор в JavaScript (?:) - это оператор принимающий три операнда. Он часто используется в качестве укороченного варианта условного оператора if. Ваш код вполне рабочий, только функция ничего не возвращает, поэтому у вас undefined.
var f = function fact(x) {
return x <= 1 ? 1 : x * fact(x - 1)
};
document.write(f(3));
Можно еще так сделать ваш вариант кода, без переменной f:
function fact(x) {
return x <= 1 ? 1 : x * fact(x - 1)
};
document.write(fact(3));
Можно почитать:
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости