URL()
Конструктор URL() возвращает вновь созданный URL объект, отражающий URL, определяемый параметрами.
Если предоставленный базовый URL-адрес или итоговый URL-адрес не является валидным, то будет сгенерировано JavaScript исключение TypeError.
Примечание: Эта возможность доступна в Web Workers
Синтаксис
js
const url = new URL(url [, base])
Параметры
url-
Строка типа
USVStringили любой объект, который может быть преобразован в строку, включая, например, элементы<a>и<area>, представляющие абсолютный и относительный URL-адрес соответственно. Еслиurlэто относительный URL-адрес, то параметрbaseстановится обязательным, так как он будет использован в качестве базового URL-адреса. Если жеurl— абсолютный URL-адрес, то значение параметраbaseбудет проигнорировано. baseНеобязательный-
Строка типа
USVString. Используется в качестве базового адреса, когдаurlэто относительный URL-адрес. Значение по умолчанию:undefined.
Note: Как и в случае с любым другим Web API, которое принимает на вход строку типа
USVString, аргументыurlиbaseбудут преобразованы в строку независимо от исходного типа переданного значения. В частности, вы можете использовать существующийURLобъект в качестве аргумента и он будет преобразован в строку значение которой равно значению свойстваhref(en-US) переданного объекта.
Исключения
| Исключение | Объяснение |
|---|---|
TypeError |
url (в случае с абсолютным URL-адресом) или base + url (в случае с относительным URL-адресом) является невалидным URL-адресом. |
Примеры
js
// Базовые 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 Standard # constructors |
Поддержка браузерами
BCD tables only load in the browser