TGViewer
Javascript Javascript @javascriptv · 16.9K subscribers
Post #1193 4.93K
Объект URL в JavaScript: полный разбор

⏩Итак, создать объект URL можно 2 способами:

— Конструктор URL():
const url = new URL("https://www.example.com/path?query=123#hash");


— Использование window.location:
const currentUrl = new URL(window.location.href);



⏩Из чего состоит URL
Вот некоторые составляющие URL :
— href: полный URL.
— protocol: протокол, например https:.
— host: хост (доменное имя и порт).
— hostname: только доменное имя.
— port: только порт.
— pathname: путь после доменного имени и порта.
— search: строка запроса, начинающаяся с ?.
— hash: якорь, начинающийся с #.
— origin: протокол + домен + порт.

⏩Допустим, у нас есть такой URL, включающий все эти части:
https://www.example.com:8080/path/page.html?query=123#section


⏩Тогда объект URL для него будет выглядеть так:
const url = new URL("https://www.example.com:8080/path/page.html?query=123#section");


⏩А если мы попытаемся вывести значения разных свойств, получим следующее:
console.log(url.href);     // https://www.example.com:8080/path/page.html?query=123#section
console.log(url.protocol); // https:
console.log(url.host); // www.example.com:8080
console.log(url.hostname); // www.example.com
console.log(url.port); // 8080
console.log(url.pathname); // /path/page.html
console.log(url.search); // ?query=123
console.log(url.hash); // #section
console.log(url.origin); // https://www.example.com:8080


⏩Ещё вы можете изменить любую часть URL, изменяя соответствующее свойство.
url.search = "?newquery=456";
console.log(url.href);
// https://www.example.com:8080/path/page.html?newquery=456#section


⏩Объект URLSearchParams в сочетании с объектом URL упрощает работу с параметрами запроса.
const params = new URLSearchParams(url.search);
params.set("newparam", "value");
url.search = params.toString();
console.log(url.href);
// https://www.example.com:8080/path/page.html?newquery=456&newparam=value


@javascriptv
  • 👍 24
  • ❤ 6
  • 🔥 3
More from @javascriptv
  1. Oct 3, 2026Импорт локальных изображений vs использование изображений из папки / public в Next.js
  2. Oct 2, 2026Совет по веб-доступности 💡 Лучший способ сделать ваши ссылки, состоящие только из иконок,…
  3. Sep 30, 2026🌐 Человек, который создал первый веб-браузер, сервер и заложил основу современного интерн…
  4. Sep 29, 2026🛠️ Awesome SRE - большая подборка ресурсов для Site Reliability Engineering Репозиторий a…
  5. Sep 26, 2026Card Carousel Этот элемент веб-дизайна реализован с использованием HTML и CSS. Он представ…
  6. Sep 24, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →