С самого начала у меня была какая-то тактика и я её придерживался
Абакан, Хакасия, Россия
Окружение
Типизация
Чистые функции
Тесты и автоматическая проверка кода
Условия и принятия решений
Рекурсия
Guard Expression
Выполнение функций
Возврат функций из функций
Лексическое окружение (LexicalEnvironment)
Каррирование
Параметры по умолчанию
Объекты первого класса
Частичное применение
Sudo
Интеграция с GitHub
Точки
Пары
Барьеры абстракции
Реализация пар
Моделирование
Рациональные числа
Разметка
Иерархические структуры
Стандартные интерфейсы
Свертка
Фильтрация списков
Отображение списков
Представление последовательностей
Игровой дизайн: карточный бой
Полиморфизм
Классы
Нативные объекты
Объекты
Диспетчеризация по типу. Аддитивность.
Помеченные данные
Инверсия
getter и мемоизация
Set
Операция rest
Массив
Map
Fluent interface
Операция spread
Ленивые вычисления
Дестракчеринг
Неизменяемость
Тернарный оператор и Элвис
Отладка
Описание типов
Ссылки
Агрегация 2
Обход дерева
Вторая нормальная форма
Онтология
Ограничения
Полиморфизм подтипов
Наследование
Цепочки прототипов
Функции как объекты
Прототипы
Абстрактное синтаксическое дерево
Зачем и как писать тесты?
Модульные тесты
power-assert
Матчеры (Expectations)
Jest
Условия внутри тела цикла
Цикл while
Синтаксис
Проверка существования значения
Цикл for
Обработка строк через преобразование в массив
Цепочка промисов
Промисы (Promise)
Async/Await
Обработка ошибок в промисах
Асинхронный код
new Promise
Обработка ошибок
Упорядочивание асинхронных операций
Возврат в асинхронном коде
Параллельное выполнение операций
Таймеры
Promise.all
Обход свойств объекта
Хеш-таблицы
Относительное позиционирование
Отображение (map)
Оператор Spread (распаковка аргументов)
Функции высшего порядка
Оператор Rest (упаковка аргументов)
Тестирование ошибок
Инкапсуляция
Класс
Контекст (This)
Что такое DOM?
Управляющие инструкции
Обмен значений
Генерация строки в цикле
Манипуляции с виртуальной файловой системой
Агрегация
Null Object Pattern
CRUD: Обновление
CRUD: Создание
CRUD: Удаление
Обработчики запросов
Flash
PHP CGI
Модифицирующие формы
Шаблонизатор
Сокрытие данных (Data Hiding)
Статические методы
Интерфейсы (ключевое слово `interface`)
Изменяемость
Контроллер
Шаблоны проектирования (Паттерны)
Код, который убивает полиморфизм
Диспетчеризация по ключу (данные)
Параметрический полиморфизм
Паттерн Состояние (State)
Фабрика (Паттерн)
Динамическая диспетчеризация
Частичное применение функции
Скоупы
Массовое присвоение
Построение запросов (Query Builder)
Переопределение методов
Изменяемая конфигурация
DS
Строки
Hello, World!
Уникальное объединение
Форматированное время
Функция Аккермана
Преобразование DNA в RNA
Сумма квадратов
Разница углов
Степень тройки
Молния
Сборщик строки запроса
Поиск ближайшего соседа
Выравнивание (Массив)
Композиция функций
Увеличение двумерного массива
Пересечение массивов
Найди отличия
Первые n элементов
Представление массива в виде объекта
Исключаем лишних
Выравнивание
Быстрая сортировка
Одинаковая четность
Промисификация
Тройка
Обработка ссылок
Вес Хэмминга
Waterfall
Найди Fizz и Buzz
Переворот числа
Счастливый билет
Фасад
Идеальные числа
Инвертированный регистр
Счастливые числа