this.startDate
, если нет, то значит функция вызывается в первый раз, соответственно выполняется блок else и в конце мы устанавливаем this.startDate = currentDate
. Затем при последующих вызовах функции мы находим разность текущего времени запуска с предыдущим и если оно больше 900000 миллисекунд (15 минут), тогда выполняется первый блок и в конце мы так же обновляем последнюю дату запуска функции.