Совершенно нормальная ситуация, я 4 года с языком работаю и спустя это время понимаю четко, что я знаю как он работает ну... процентов на 20%. В эти проценты я добавил: кроссбраузерность, nodejs, транслируемые языки, шаблонизаторы, библиотеки, фреймворки, события, паттерные проектирования, плагины для браузеров, ооп, алгоритмы, dom, polymer, виртуальные машины которые тот-же C++ в JS переводят, Coffee, TypeScript, ES6, gwt, геймдев nosql - базы, mongodb, npm плагины, визуализацию данных, canvas, svg, web-gl. Это я так малую часть привел, где он используется и что значит для меня JS. Я использую C#, C++, JAVA, Python (Но по каждому вспомню максимум до 10 тегов). Но JS много ассоциаций у меня вызывает). Так что вы точно поторопились с собственным убеждением, что вы знаете язык, синтаксис возможно, я тоже могу сказать что знаю в таком случае великолепно C++.
По делу:
Коммерческий опыт хочу:
Сформируйте JSON объект данных (пользователей), используете его и почитайте про паттерны и поставьте себе задачу - управлять массивами пользователей (Удалять, Создавать, Обновлять). Сделали? Нарисуйте UI HTML+CSS+BOOTSTRAP, добавьте события на ваши кнопки, к уже реализованными методам. Работает? Скучно? Сделайте это на Backbone, Angular, React, Ember, Knockout. Получите маленький такой опыт приближенной к обычному процессу front-end разработки в коммерческом проекте. Дальше ORM на клиенте, REST_FULL, построение больших приложений.
Забавный опыт хочу:
Для начала напишите комикс на JS + JQUERY.
1) Напишите свою игру, например морской бой. Сложно? Возмите фреймворк, почитайте исходники, выучите его API - напишите свой платформер - это просто, очень!
2) Любите музыку? HTML5 AUDIO API в помощь, синтезируете звуки с помощью JS. Напишите пианино в браузере, есть примеры кода в инете где это делают 47 строк кода.
3) Веб чат + AJAX - полезно при одновременном обучении PHP и JS. Напишите чатик, который обновляется, заодно можно и подучить WEBSOCKETS.
4) Анимация, разбейте картинку на 8 частей. Допустим руки ноги и голова у робата с разных углом летят к телу, сделайте анимацию по спрайтам, анимируйте с помощью таймеров, с помощью передвижения DOM объектов. Посмотрите что может $.animate().
Теория:
www.codeacademy.com
Книги: Совершенный код, Паттерны проектирования Банды четырех, Гради Буч - ООП.