URL: URL() コンストラクター

URL() コンストラクターは、引数によって定義された URL を表す、新しく生成された URL オブジェクトを返します。

与えられたベース URL または結果の URL が有効な URL でない場合、JavaScript の TypeError 例外が発生します。

注: この機能は Web Worker 内で利用可能です。

構文

js
new URL(url)
new URL(url, base)

引数

url

絶対または相対 URL を表す文字列または文字列化のあるその他のオブジェクト、例えば <a><area> 要素です。 url が相対 URL である場合、base は必須であり、ベース URL として使用されます。 url が絶対 URL である場合、指定された base は無視されます。

base 省略可

url が相対 URL の場合に使用するベース URL を表す文字列です。 指定されなかった場合、既定値は undefined です。

メモ: 引数 urlbase はそれぞれ、文字列を受け入れる他の Web API と同様に、渡された値から文字列化されます。 具体的な例としては、既存の URL オブジェクトをどちらの引数にも使用することができ、そのオブジェクトの href プロパティに文字列化されます。

例外

例外 説明
TypeError url(絶対 URL の場合)または base + url(相対 URL の場合)が、有効な URL ではありません。

js
// ベース URL:
let baseUrl = "https://developer.mozilla.org";

let A = new URL("/", baseUrl);
// => 'https://developer.mozilla.org/'

let B = new URL(baseUrl);
// => 'https://developer.mozilla.org/'

new URL("ja/docs", B);
// => 'https://developer.mozilla.org/ja/docs'

let D = new URL("/ja/docs", B);
// => 'https://developer.mozilla.org/ja/docs'

new URL("/ja/docs", D);
// => 'https://developer.mozilla.org/ja/docs'

new URL("/ja/docs", A);
// => 'https://developer.mozilla.org/ja/docs'

new URL("/ja/docs", "https://developer.mozilla.org/fr-FR/toto");
// => 'https://developer.mozilla.org/ja/docs'

// 無効な URL:

new URL("/ja/docs", "");
// Raises a TypeError exception as '' is not a valid URL

new URL("/ja/docs");
// Raises a TypeError exception as '/ja/docs' is not a valid URL

// 他の例:

new URL("http://www.example.com");
// => 'http://www.example.com/'

new URL("http://www.example.com", B);
// => 'http://www.example.com/'

new URL("", "https://example.com/?query=1");
// => 'https://example.com/?query=1' (Edge 79 以前はクエリー引数を除去する)

new URL("/a", "https://example.com/?query=1");
// => 'https://example.com/a' (see relative URLs)

new URL("//foo.com", "https://example.com");
// => 'https://foo.com/' (see relative URLs)

仕様書

Specification
URL Standard
# dom-url-url

ブラウザーの互換性

BCD tables only load in the browser

関連項目