Доброго времени суток, друзья!
Представляю вашему вниманию список из 250+ практических вопроса по
JavaScript с подробными (насколько это возможно и уместно в
контексте чеклиста) ответами, возможностью проверить свои знания с
помощью викторины, состоящей из 30 случайных вопроса из списка, и
бонусом в виде вопросов, разделенных на логические блоки (в
разработке).
В действительности, на данный момент в приложении содержится 193
вопроса. Я активно работаю над продолжением (бонусом).
Посмотреть и установить приложение можно
здесь (Netlify) и
здесь (PWA Store).
Код приложения на
GitHub.
Песочница:
Особенности приложения (на правах рекламы):
- Приложение содержит самую большую на сегодняшний день коллекцию
практических заданий в Рунете
- Вопросы имеют разный уровень сложности и касаются всех аспектов
работы JavaScript, включая самые последние возможности типа
динамического импорта или оператора опциональной цепочки
- Приложение представляет интерес как для опытных разработчиков,
так и для тех, кто только начинается погружаться в удивительный мир
веб-программирования
- Формат приложение один из лучших способов определения своего
уровня мастерства и углубленного изучения языка
- Приложение адаптировано под мобильные (является прогрессивным,
что означает, что его можно установить на телефон или компьютер) и
работает в офлайн-режиме (кэширование, сервис-воркер)
- Список вопросов очень длинный, поэтому в приложении реализовано
запоминание последнего изученного вопроса (Intersection Observer +
локальное хранилище), что позволяет в любой момент сделать паузу,
выйти из приложения, выпить кофе, посмотреть Netflix, прогуляться,
зайти в приложение и продолжить с того места, на котором
остановились
- В приложении нет ничего лишнего: только JavaScript, только
хардкор, т.е., я хотел сказать, практика
На десктопе приложение выглядит следующим образом:
А на смарфоне так:
Приложение основано на следующих репозиториях:
Большое спасибо авторам за проделанную работу.
Что касается кода приложения, то я старался писать его максимально
понятным образом (это касается говорящих названий переменных и
функций, отказа от использования сложных конструкций, включая
тернарники и т.д.) как в целях отладки, так и в целях
потенциального ознакомления с ним других разработчиков. Вместе с
тем, я старался использовать самые последние, но при этом широко
поддерживаемые фичи. В принципе, в коде нет ничего особенного. Про
Intersection Observer можно почитать
здесь.
Буду рад любым отзывам, замечаниям и предложениям. Как известно, не
совершает ошибок лишь тот, кто ничего не делает, так что приношу
извинения за возможные ошибки и опечатки (все-таки 5000+ строк
кода, и это только исходники-вопросы).
Надеюсь, приложение вам понравится. Благодарю за внимание.