Как хорошо ИЗУЧИТЬ javascript?
Что значит "два года пишу"? Это плохой показатель. Я так на английском уже "десять лет пишу" но экспертом по английскому языку не стал. Мало просто писать код на этом языке, мало просто читать книги про язык. Нужно сочетать всё это, интересоваться языком, который вы учите, постоянно следить за его развитием. Нужно обретать знания и применять их на практике - и, как только вы хорошо изучите JavaScript, у вас не будет в этом никаких сомнений.
самый верный и короткий путь - создать с нуля простое клиент-серверное приложение
например чат блог тостер
тогда гарантированно обретешь просветление
иначе ты будешь чесальщиком-мотальщиком а не программистом