Полностью его никогда не выучить как таковой, все языки программирования очень обыширны и у них ещё есть библиотеки и т.д., но время за которое можно изучить базовые основы + небольшое количество дополнительных случайных знаний (которые изучатся во время поиска информации) то смею предположить за месяц освоить можно, при условии 3х часов в день если учить с желанием. Если с языками программирования и алгоритмами туго то может уйти месяца два-три. Заучить базовый синтаксис можно и за неделю а вот использовать его надо учиться долго. Если учиться по каким-то курсам то дело пойдет быстрее, но курсы то не ежедневные так что время растянется. Если быть самоучкой и без "таланта" то уйдет много времени просто на разбор того как строятся алгоритмы.
Как итог несколько развитий событий:
1) С курсами: результат будет идти медленно но уверенно, будет много свободного времени т.к. курсы не ежедневные но это увеличит период изучения до 3 месяцев так точно.
2) Без курсов и без понимания алгоритмов: результат будет идти медленно, будут встречаться тупики, небольшие недопонимая и часы поиска решений и их разбор, тоже займет месяца 3 и отнимет много времени, но зато бесплатно и "прокачает" мозг.
3) Без курсов и с пониманием алгоритмов: все пройдёт гладенько и быстро, тупики будут но гораздо реже, скорее всего решения искать и не придется, свободного времени будет мало, но бесплатно и всего за месяц-полтора.
Но повторюсь это база, этого хватит на что-то рядовое, но чтоб соригинальничать или изучить что-то замудренное придется потратить гораздо больше времени.
а какие курсы посоветовал бы?)
Смотря на каком уровне Вы хотите владеть им. Чтобы писать скрипты для тех, или иных не сложных задач - достаточно и пары недель. Правда, многое зависит от уже имеющихся навыков в программировании. К тому же, не совсем понятно, для чего Вам чистый JS, когда существует куча фреймворков от JQuery до React или Vue.