URL()

Конструктор URL() возвращает вновь созданный URL объект, отражающий URL, определяемый параметрами.

Если предоставленный базовый URL-адрес или итоговый URL-адрес не является валидным, то будет сгенерировано JavaScript исключение TypeError.

Примечание: Эта возможность доступна в Web Workers.

Синтаксис

js
const url = new URL(url [, base])

Параметры

url

Строка типа USVString (en-US) или любой объект, который может быть преобразован в строку (en-US), включая, например, элементы <a> и <area>, представляющие абсолютный и относительный URL-адрес соответственно. Если url это относительный URL-адрес, то параметр base становится обязательным, так как он будет использован в качестве базового URL-адреса. Если же url — абсолютный URL-адрес, то значение параметра base будет проигнорировано.

base Необязательный

Строка типа USVString (en-US). Используется в качестве базового адреса, когда url это относительный URL-адрес. Значение по умолчанию: undefined.

Note: Как и в случае с любым другим Web API, которое принимает на вход строку типа USVString (en-US), аргументы 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
# dom-url-url

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • Полифил для URL доступен в core-js
  • Этот интерфейс принадлежит: URL.