This page was translated from English by the community. Learn more and join the MDN Web Docs community.
URL()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since апрель 2021 г..
Конструктор URL() возвращает вновь созданный URL объект, отражающий URL, определяемый параметрами.
Если предоставленный базовый URL-адрес или итоговый URL-адрес не является валидным, то будет сгенерировано JavaScript исключение TypeError.
Примечание: Эта возможность доступна в Web Workers.
Синтаксис
const url = new URL(url [, base])
Параметры
url-
Строка типа
Stringили любой объект, который может быть преобразован в строку, включая, например, элементы<a>и<area>, представляющие абсолютный и относительный URL-адрес соответственно. Еслиurlэто относительный URL-адрес, то параметрbaseстановится обязательным, так как он будет использован в качестве базового URL-адреса. Если жеurl— абсолютный URL-адрес, то значение параметраbaseбудет проигнорировано. baseНеобязательный-
Строка типа
String. Используется в качестве базового адреса, когдаurlэто относительный URL-адрес. Значение по умолчанию:undefined.
Примечание:
Как и в случае с любым другим Web API,
которое принимает на вход строку типа String,
аргументы url и base будут преобразованы в строку
независимо от исходного типа переданного значения.
В частности, вы можете использовать существующий URL объект в качестве аргумента
и он будет преобразован в строку значение которой равно значению свойства
href переданного объекта.
Исключения
| Исключение | Объяснение |
|---|---|
TypeError |
url (в случае с абсолютным URL-адресом) или base + url (в случае с относительным URL-адресом) является невалидным URL-адресом. |
Примеры
// Базовые URL-адреса
let m = "https://developer.mozilla.org";
let a = new URL("/", m); // => 'https://developer.mozilla.org/'
let b = new URL(m); // => 'https://developer.mozilla.org/'
new URL("en-US/docs", b); // => 'https://developer.mozilla.org/en-US/docs'
let d = new URL("/en-US/docs", b); // => 'https://developer.mozilla.org/en-US/docs'
new URL("/en-US/docs", d); // => 'https://developer.mozilla.org/en-US/docs'
new URL("/en-US/docs", a); // => 'https://developer.mozilla.org/en-US/docs'
new URL("/en-US/docs", "https://developer.mozilla.org/fr-FR/toto");
// => 'https://developer.mozilla.org/en-US/docs'
new URL("/en-US/docs", ""); // Генерирует TypeError исключение так как '' не является валидным URL-адресом
new URL("/en-US/docs"); // Генерирует TypeError исключение так как '/en-US/docs' не является валидным URL-адресом
new URL("http://www.example.com"); // => 'http://www.example.com/'
new URL("http://www.example.com", b); // => 'http://www.example.com/'
new URL("//foo.com", "https://example.com"); // => 'https://foo.com' (см. относительные URL-адреса)
Спецификации
| Specification |
|---|
| URL> # dom-url-url> |
