Типы данных, переменные (var, let, const)
операции + логические операции, шаблонизация строк.
Циклы и условия
let in for, 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
Try Catch Throw Finally
Асинхронность работы тандемом JS и браузера, и способы работы с этим (callback hell, closures, промисы)
Promise
DOM, BOM
создание, конфигурирование, вставка и удаление элементов, обреботчики событий (два способа навесить)
this в обработчике, объект события, его свойства, целевой элемент, всплытие и его обработка. поведение браузера по умолчанию.
localStorage,
AJAX (AJAJ)
XMLHttpRequest + Promise
Canvas
контект, пути, отрисовка, афинные преобразования системы координат.