Какие темы разбираются в курсе

Classes

Начнем с реализации собственных классов. HttpRouter, QueryParams, BrowserHistory и VersionManager решают прикладные задачи, связанные с вебом.

Descriptors

Разбираемся, как добавлять сеттеры и геттеры. Используем Object.defineProperty для «заморозки» объекта.

Extend Prototype

Расширяем стандартные классы Array, Object и Function.

Proto

Разбираем отличия prototype и __proto__. Знакомимся с реальными примерами использования Object.create.

This

Рассматриваем все особые варианты, чему может быть равен this в зависимости от способа вызова функции: new, call/apply, bind, стрелочная функция.

Inheritance

Переписываем наследование классов через прототипы, разбираясь с цепочкой прототипов.