Url.js

В данном испытании вам предстоит реализовать класс Url, который позволяет извлекать из HTTP адреса, представленного строкой, его части. Экспортируйте класс по умолчанию.

Класс должен содержать конструктор и методы:

  • конструктор - принимает на вход HTTP адрес в виде строки.
  • getScheme() - возвращает протокол передачи данных (без двоеточия).
  • getHostName() - возвращает имя хоста.
  • getQueryParams() - возвращает параметры запроса в виде пар ключ-значение объекта.
  • getQueryParam() - получает значение параметра запроса по имени. Если параметр с переданным именем не существует, метод возвращает значение заданное вторым параметром (по умолчанию равно null).

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

Примеры

const url = new Url('http://yandex.ru:80?key=value&key2=value2');
url.getScheme(); // 'http'
url.getHostName(); // 'yandex.ru'
url.getQueryParams();
// {
//   key: 'value',
//   key2: 'value2',
// };
url.getQueryParam('key'); // 'value'
// второй параметр - значение по умолчанию
url.getQueryParam('key2', 'lala'); // 'value2'
url.getQueryParam('new', 'ehu'); // 'ehu'
url.getQueryParam('new'); // null

Подсказки

  • Не используйте в решении устаревшие возможности (Legacy URL API).
Успешных завершений: 75%

Для полного доступа к испытанию нужна профессиональная подписка

Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, даст возможность обращаться за помощью к менторам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов

Последние код-ревью

Автор Дата обновления Версий
agmrv 14 авг., 15:44 1
asagafonov 05 авг., 08:04 1
vlad_akashev 04 авг., 19:26 1
user-299058289f847c4d 30 июля, 16:19 1
alekseyvlivanov 26 июля, 08:54 1