URL()
Конструктор URL()
возвращает вновь созданный URL
объект, отражающий URL, определяемый параметрами.
Если предоставленный базовый URL-адрес или итоговый URL-адрес не является валидным, то будет сгенерировано JavaScript исключение TypeError
.
Примечание: Эта возможность доступна в Web Workers
Синтаксис
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-адресом. |
Примеры
// Базовые 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