Как же умиляют эти вопросы "за сколько можно выучить N с нуля". При этом, конечно, никто и не подозревает, что за тем же JavaScript'ом стоит не только синтаксис, но и системы сборки, шаблонизаторы, банальный HTML, без знания которого во фронтенде делать нечего (за очень редким исключением).
Ответ простой - не забивать голову, придумать себе проект (а идеи гуглятся элементарно, если своих нет) - и начать реализовывать.
А если с программированием человек вообще не знаком - то после краткого знакомства с языком ему предстоит открыть для себя чудесный мир алгоритмов и структур данных (и не нужно говорить, что это все не нужно фронтендеру - мне, как бэкендеру, уже доводилось видеть примеры оптимизации фронтендерских поделий путем замены структур данных и правкой алгоритма), работы процессора и памяти, сетевых протоколов (хотя бы HTTP и HTTPS), методологий разработки, принципов проектирования API (чтобы помочь бэкэнду это API создать) и прочих лучших практик. И это помимо освоения систем контроля версий и всего того, без чего современный разработчик может восприниматься окружающими только как древнее необразованное быдло.
Так что, да, единственный путь - брать и реализовывать что-то своими руками. А потом опять и опять, не забывая развиваться в соседних областях (а на эту тему тоже много всего написано). Общаться с профессионалами, задавать правильные вопросы (а этот вопрос - вообще не вопрос, это нытье) и учиться у них.