JavaScriptのURL APIを使って、URL文字列からURLオブジェクトの作成やURLパスの取得などを試してみます。
サンプルコード
URLオブジェクトの作成を試してみます。
作成にはnew URL()を使用します。
new URL(url, [base]) | URLオブジェクトを生成する。 第一引数のurlには絶対URLか相対URLを指定して、第一引数が相対URLの場合は第二引数のbaseに絶対URLを指定する。 |
---|
実際に試してみます。
const baseUrl = 'https://example.com/'; // 第一引数に絶対URLを指定した場合 const sample1 = new URL(baseUrl); console.log('sample1', sample1); // 第一引数に相対URL、第二引数に絶対URLを指定した場合 const sample2 = new URL('/sample/', baseUrl); console.log('sample2', sample2); // 第二引数にURLオブジェクトを指定した場合 const sample3 = new URL('/test/', sample2); console.log('sample3', sample3); // 与えられたパラメーターまたは結果のURLが有効なURLでない場合はエラー const sample4 = new URL('/sample/'); // Uncaught TypeError: Failed to construct 'URL': Invalid URL
consoleでURLオブジェクトの生成が確認できました。
URLオブジェクト生成のデモページ
次にURLオブジェクトを使って値の取得を試してみます。
const baseUrl = 'https://localhost:3000/'; const sample = new URL('/sample/test.html?key=val#hash', baseUrl); console.log('sample', sample); console.log('hash', sample.hash); // #hash console.log('host', sample.host); // localhost:3000 console.log('hostname', sample.hostname); // localhost console.log('href', sample.href); // https://localhost:3000/sample/test.html?key=val#hash console.log('origin', sample.origin); // https://localhost:3000 console.log('pathname', sample.pathname); // /sample/test.html console.log('port', sample.port); // 3000 console.log('protocol', sample.protocol); // https: console.log('search', sample.search); // ?key=val console.log('searchParams', sample.searchParams);
コメントが承認されるまで時間がかかります。