Почему вместо результата функции, в консоли, я получают ее текст, вместо значения

Нужно вывести текущую длительность видео - 60 секунд. Но если это первые 60 секунд видео, то получится отрицательная длительность. По этому нужно приравнять отрицательные значения к 0. Попробовал так, но не работает. Подскажите что я сделал не так? Можно ли решить задачу проще?

let momentTime = function() { 
    var videoTime = parseInt(document.querySelector('video').currentTime) - 60;
    if ( videoTime > 0) {
        videoTime
    } else {
        0
    }
};
console.log(momentTime);

Ответы (2 шт):

Автор решения: SwaD

Ваша функция не возвращала результата. Надо добавить return перед тем значением, которое должно быть возвращено функцией.

let momentTime = function() { 
    var videoTime = parseInt(document.querySelector('video').currentTime) - 60;
    if ( videoTime > 0) {
        return videoTime
    } else {
        return 0
    }
};
console.log(momentTime());

Или это же можно сократить немного

let momentTime = function() { 
    var videoTime = parseInt(document.querySelector('video').currentTime) - 60;
    return videoTime > 0 ? videoTime : 0;
};
console.log(momentTime());
→ Ссылка
Автор решения: ΝNL993

Раз уж @SwaD вам всё объяснил, то повторяться не буду, но приложу своё решение, где задача решена более простым путём.

let momentTime = function() { 
    var videoTime = parseInt(document.querySelector('video').currentTime) - 60;

    return Math.max(0, videoTime)
};
console.log(momentTime());

Функция теперь возвращает самое большое число, то есть, либо 0, либо текущее_время_видео - 60. Для примера: если текущее_время_видео - 60 = -1, то выберется 0, т.к. 0 > -1, а если текущее_время_видео - 60 = 2, то выберется 2, т.к. 2 > 0.

→ Ссылка