Я бы конечно определился, что такое более глубокое понимание. Для себя я бы обозначил глубокое понимание, как умение решать "бизнес-задачи" на языке JavaScript, наиболее эффективным образом.
Глубокое понимание, уже перестает относиться только к JavaScript, а начинает очень тесно взаимодействовать с общими паттернами которые есть в программировании.
Знать и уметь применять паттерны проектирования:
- Singleton
- publish/subscribe
- factory
- proxy
- facade
- strategy
Понимать структуры данных и понимать для чего эти структуры предназначены, сложности алгорит:
- Список, связанный список
- Деревья, бинарные деревья
- Очередь/Стек
- Графы
Уметь писать в ООП парадигме и в функциональном стиле, просто чистый код:
- SOLID
- fp (pipe, compose, curry, functor, monads, etc)
- SOA, понимание Service-oriented architecture
Понимание работы компилятора и интерпретатора, MaxKorz хорошо уточнил.