URL()
Конструктор URL()
возвращает вновь созданный URL
объект, отражающий URL, определяемый параметрами.
Если предоставленный базовый URL-адрес или итоговый URL-адрес не является валидным, то будет сгенерировано JavaScript исключение TypeError
.
Примечание: Эта возможность доступна в Web Workers
Синтаксис
js
const url = new URL(url [, base])
Параметры
url
-
Строка типа
USVString
или любой объект, который может быть преобразован в строку (en-US), включая, например, элементы<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