JavaScript: 200 практических вопросов



    Доброго времени суток, друзья!

    Представляю вашему вниманию список из 200 практических вопросов по JavaScript с подробными (насколько это возможно и уместно в контексте чеклиста) ответами и возможностью проверить свои знания с помощью викторины, состоящей из 30 случайных вопросов из списка.

    Посмотреть и установить приложение можно здесь (Netlify) и здесь (PWA Store).

    Код приложения на GitHub.

    Особенности приложения:

    • Приложение содержит самую большую на сегодняшний день коллекцию практических заданий в Рунете
    • Вопросы имеют разный уровень сложности и касаются всех аспектов работы JavaScript, включая самые последние возможности типа динамического импорта или оператора опциональной цепочки
    • Приложение представляет интерес как для опытных разработчиков, так и для тех, кто только начинается погружаться в удивительный мир веб-программирования
    • Формат приложение — один из лучших способов определения своего уровня мастерства и углубленного изучения языка
    • Приложение адаптировано под мобильные (является прогрессивным, что означает, что его можно установить на телефон или компьютер) и работает в офлайн-режиме (кэширование, сервис-воркер)
    • Список вопросов очень длинный, поэтому в приложении реализовано запоминание последнего изученного вопроса (Intersection Observer + локальное хранилище), что позволяет в любой момент сделать паузу, выйти из приложения, выпить кофе, посмотреть Netflix, прогуляться, зайти в приложение и продолжить с того места, на котором остановились
    • В приложении нет ничего лишнего: только JavaScript, только хардкор, т.е., я хотел сказать, практика

    На десктопе приложение выглядит следующим образом:





    А на смарфоне так:







    Приложение основано на следующих репозиториях:


    Большое спасибо авторам за проделанную работу.

    Что касается кода приложения, то я старался писать его максимально понятным образом (это касается говорящих названий переменных и функций, отказа от использования сложных конструкций, включая тернарники и т.д.) как в целях отладки, так и в целях потенциального ознакомления с ним других разработчиков. Вместе с тем, я старался использовать самые последние, но при этом широко поддерживаемые фичи. В принципе, в коде нет ничего особенного. Про Intersection Observer можно почитать здесь.

    Буду рад любым отзывам, замечаниям и предложениям. Как известно, не ошибается лишь тот, кто ничего не делает, так что приношу извинения за возможные ошибки и опечатки.

    Надеюсь, приложение вам понравится. Благодарю за внимание.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 7

      +1
      ого, я засветился! Ну спасибо, уважил старика!
        +1
        Спасибо за проделанную работу! Вопросы действительно хорошие — заставляют поломать голову, выявить пробелы в знаниях, лучше запомнить особенности языка и без излишней зауми.
          0

          Спасибо, очень кропотливая работа, можно долго сидеть залипать,


          Из небольших советов — добавить подсветку синтаксиса, для этого точно есть готовые библиотеки, поэтому это не должно быть проблемой, но читаемость улучшится радикально.

            0
            Опаньки! А вот это интересно…
              0
              Спасибо за интересный тестер, интересно покопаться в особенностях js. Забавно, что с этих особенностей так ярко горят приверженцы «настоящих» ЯП.

              aio350 в вопросе №45
              (() => {
              let x = (y = 10);
              })();

              console.log(typeof x);
              console.log(typeof y);


              правильный ответ будет не "undefined", "number", а ReferenceError, поскольку x объявлена в блоке и не всплывает выше.
                +1
                  0
                  Пардон, перепутал с обращением к значению.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое