Типы данных, переменные (var
, let
, const
)
операции + логические операции, шаблонизация строк.
Циклы и условия
for (let
, for .. in
, for ..of
Массивы и объекты
sort
, map
, reduce
, filter
, Object.keys
, ключи-значения, деструктуризация, es6 литералы объектов, JSON
Функции
определение, вызов, arguments
, call
, apply
, rest
, spread
, callback
(изнутри и снаружи), анонимные, Function Declaration vs Function Expression, self-invoked. Стрелочные и их особенности, параметры по умолчанию.
Замыкания, рекурсия
замыкания в целом, замыкания на let
без функции
Функциональное ООП
приватные свойства на замыканиях, что делает new, геттеры, сеттеры.
this, call, apply, bind
потеря this и как с ней бороться в контексте DOM и функционального ООП.
Try Catch Throw Finally
Асинхронность работы тандемом JS и браузера, и способы работы с этим (callback hell, closures, промисы)
Promise
DOM, BOM
создание, конфигурирование, вставка и удаление элементов, обреботчики событий (два способа навесить обработчик)
this в обработчике, объект события, его свойства, целевой элемент, всплытие и его обработка. поведение браузера по умолчанию.
localStorage
AJAX (AJAJ)
XMLHttpRequest
+ Promise
Canvas
контекст, пути, отрисовка, афинные преобразования системы координат.