1/ зависит от желаемого уровня владения ЯП
2/ несколько ловушек и подводных камней
3/ выбор курсов зависит от того, с какого уровня вы стартуете, в какой форме хотите изучать и где потом применять полученные навыки - посмотрите сначала на бесплатные материалы на http://kidsjs.blogspot.com/,https://habr.com/company/ruvds/blog/429552/,https://tproger.ru/translations/javascript-tool-list/
а какие курсы посоветовал бы?)
Смотря на каком уровне Вы хотите владеть им. Чтобы писать скрипты для тех, или иных не сложных задач - достаточно и пары недель. Правда, многое зависит от уже имеющихся навыков в программировании. К тому же, не совсем понятно, для чего Вам чистый JS, когда существует куча фреймворков от JQuery до React или Vue.