Сначала картина целиком
Middle — не только синтаксис, а почему так и где ломается на практике.
Типичный набор
- Closures; anonymous functions use-cases.
- Promises vs callbacks;
AbortController.
- Почему не расширять built-ins; почему не трогать global scope.
- CommonJS vs ESM; mutable vs immutable.
- Static members;
Symbol; getters/setters.
- Debugging;
load vs DOMContentLoaded.
- JSONP (legacy); microtask queue.
- Coverage, CSP, CSRF, input validation — на уровне понимания.
- Error propagation; partial application / related FP.
Чего ждут
Связка теория → риск в проде → как бы ты отладил. Умение сказать tradeoff важнее заучивания API.
Итог: middle-лист — асинхронность, модули, безопасность в браузере и осознанные абстракции.