• Как правильно освободить переменную?

    @Gvald
    Надим Закиров, в дополнение к ответу предыдущему. Важно понимать, что все переменные примитивных типов, как undefined, null, NaN, Infinity - это единственные переменные указывающие на свои единственные значения, которые указывают на одну область памяти, поэтому присваивая переменной эти значения вы автоматически удаляете ссылки на другое значение 'до' этой переменной и тем самым даёте сборщику право освободить память при следующем обходе сборщика мусора. Но не раньше. Значение в памяти будут сохранены, даже когда ссылок на них уже нет, удаление их - задача сборщика и тут ничего не поделаешь, нужно ждать его очереди.
  • Document.title как в титле впихнуть таймер обратного отсчета?

    @Gvald
    Если это работает, то проблема решена. Но рефакторинг не помешал бы)
    Из простого, не используйте конкатенации строк, к примеру, используйте string templates.
    Будет намного красивее и понятнее выглядеть.
    И что-то вы с setTimeout прям накрутили. Зачем такие биндинги там?) Такой код тяжело читать. Используйте функции стрелки, к примеру, если вызов функции нужно отложить с нужными параметрами. Туда и пихайте и минуты и секунды.
    setTimeout( () => changeTitle(minutes, seconds), 1000 );
  • Document.title как в титле впихнуть таймер обратного отсчета?

    @Gvald
    А не известно, смотря насколько загружен стэк. Поэтому нужно использовать Date.

    Я не знаю php совершенно, пробовал - не понравилось, с тех пор его не трогаю. Но в вашем случае все просто, на странице js это сильный инструмент, используйте напрямую манипуляции с DOM, это не страшно совсем, т.е. document.title ="время таймера" вполне сработает. Присваивайте только готовую строку в нужном формате.
  • Есть ли способы ускорить разработку на redux?

    @Gvald
    Mobx не замена редакса совершенно. Эти фреймворки служат разным целям, не путайте начинающих. Ещё есть Cerebral, неплохой стэйт менеджер, советую.