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