Опыт, практика в JS?
У меня тоже когда-то были такие вопросы и это говорит об отсутствии умения программировать полноценные программы, а не плохое понимание языка.
Язык Вы можете знать от компилятора, до самого последнего новшества, а вот
собрать простенькое приложение не получается. Нет чувства полноценности и законченности проекта. И я тоже спрашивал и думал, что мне такое написать и 
так же как и Вы получал ответы, типа - ничего Вы не знаете, я вот так не делал и считаю всех не как я, не такими.  Не обращайте внимание на это, программисты тоже бывают отстойными гундосами.
И вот я значит так и не получив ответ пошел копать фраймворки.
Перерыл их очень много, получил много знаний, но самое главное я смог найти ответ на мой и Ваш ответ - напишите компоненты. Компоненты, это самое сложное что есть в программировании и является лучшим примером и учителем ооп.  Все компоненты делать не нужно, а вот меню, выпадающее, это самое оно.
Не знаешь ты язык, если бы знал не задавал бы вопрос такой? смотри на сайтах всякие фишки и копируй их