JavaScript — однопоточный язык с динамической типизацией, функциями как значениями и прототипным наследованием. Все фреймворки — React, Vue, Angular — надстройки над ним, и на собеседованиях на любой фронтенд обязательно проверяют сам язык.
Классический набор вопросов: типы и приведение, var/let/const, замыкания, this, прототипы, event loop, промисы и async/await, методы массивов, копирование объектов. Каждый из них — отдельный узел этой ветки.
Лучший способ выучить язык — не читать, а писать: небольшие задачи на массивы и строки, реализация debounce, Promise.all, глубокого копирования — то, что дают на live-coding.