recursal/MDN huggingface dataset:
ImageData: ImageData() コンストラクター
===============================

**`ImageData()`** コンストラクターは、渡された型付き配列から構築され、指定された幅と高さを持つ新規生成された `ImageData` オブジェクトを返します。

このコンストラクターは、`Worker` 内でこのようなオブジェクトを生成するのに良い方法です。

構文
--


```js
new ImageData(width, height)
new ImageData(width, height, settings)

new ImageData(dataArray, width)
new ImageData(dataArray, width, height)
new ImageData(dataArray, width, height, settings)
```

### 引数

`width`

画像の幅を表す `unsigned long` 値です。

`height`

画像の高さを表す `unsigned long` 値です。配列を渡す場合この値は省略可能で、配列のサイズと指定された幅から計算されます。

`settings` 省略可

以下のプロパティを持つオブジェクトです。

* `colorSpace`: 画像データの色空間を指定します。sRGB 色空間を表す `"srgb"` または display-p3 色空間を表す `"display-p3"` を設定できます。

`dataArray`

画像のピクセル表現が入った `Uint8ClampedArray` です。この配列を渡さない場合は、指定の `width` と `height` をもつ透明な黒の長方形画像が生成されます。

### 返値

新しい `ImageData` オブジェクトを返します。

### 投げられるエラー

`IndexSizeError` `DOMException`

`array` が指定され、その要素数が `(4 * width)` の倍数でも `(4 * width * height)` の倍数でもないとき投げられます。

例
-

### 空の ImageData オブジェクトを生成する

この例は、幅 200 ピクセル、高さ 100 ピクセルの `ImageData` オブジェクトを生成します。全部で 20,000 ピクセルあります。


```js
let imageData = new ImageData(200, 100);
// ImageData { width: 200, height: 100, data: Uint8ClampedArray[80000] }
```

### display-p3 色空間を用いる ImageData

この例では、display-p3 色空間を用いる `ImageData` オブジェクトを生成します。


```js
let imageData = new ImageData(200, 100, { colorSpace: "display-p3" });
```

### 配列を用いて ImageData を初期化する

この例では、配列で定義されたピクセルカラーを持つ `ImageData` オブジェクトを生成します。

#### HTML


```html
<canvas id="canvas"></canvas>
```


#### JavaScript

ここで用いる配列 (`arr`) の要素数は `40000` です。10,000 ピクセルあり、各ピクセルは 4 個の値で定義されます。`ImageData` のコンストラクターで新しいオブジェクトの `width` を `200` に設定しているので、`height` のデフォルト値は 10,000 を 200 で割った値 `50` になります。


```js
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const arr = new Uint8ClampedArray(40\_000);

// 配列を同じ RGBA 値で埋める
for (let i = 0; i < arr.length; i += 4) {
  arr[i + 0] = 0; // R 値
  arr[i + 1] = 190; // G 値
  arr[i + 2] = 0; // B 値
  arr[i + 3] = 255; // A 値
}

// 新しい ImageData オブジェクトを初期化する
let imageData = new ImageData(arr, 200);

// 画像データをキャンバスに描画する
ctx.putImageData(imageData, 20, 20);
```


#### 結果

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-imagedata-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* ワーカー外で用いることができる生成メソッド `CanvasRenderingContext2D.createImageData()`
ImageData: height プロパティ
=======================

読み取り専用プロパティ **`ImageData.height`** は、`ImageData` オブジェクトの行数を返します。

値
-

数値です。

例
-

この例では、幅 200 ピクセル、高さ 100 ピクセルの `ImageData` オブジェクトを生成します。したがって、`height` プロパティは `100` です。


```js
let imageData = new ImageData(200, 100);
console.log(imageData.height); // 100
```

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-imagedata-height-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `ImageData.width`
* `ImageData`
ImageData: data プロパティ
=====================

読み取り専用プロパティ **`ImageData.data`** は、`ImageData` オブジェクトのピクセルデータが入った `Uint8ClampedArray` を返します。データは RGBA の順に `0` から `255` (両端を含む) の整数値の 1 次元配列として格納されます。

値
-

`Uint8ClampedArray` です。

例
-

### ImageData オブジェクトのピクセルデータを取得する

この例では、幅 100 ピクセル、高さ 100 ピクセルの `ImageData` オブジェクトを生成します。全部で 10,000 ピクセルになります。配列 `data` には各ピクセルについて 4 個の値が格納され、全部で 4 x 10,000 すなわち 40,000 個の値が格納されます。


```js
let imageData = new ImageData(100, 100);
console.log(imageData.data); // Uint8ClampedArray[40000]
console.log(imageData.data.length); // 40000
```

### 空の ImageData オブジェクトを埋める

この例では、新しい `ImageData` オブジェクトを生成し、カラフルなピクセルで埋めます。

#### HTML


```html
<canvas id="canvas"></canvas>
```


#### JavaScript

配列 `data` では各ピクセルが 4 個の値からなるので、`for` ループのループ変数を 4 ずつ進めます。各ピクセルに対応する値は、順に R (赤)、G (緑)、B (青)、A (不透明度) です。


```js
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
const imageData = ctx.createImageData(100, 100);

// 配列を RGBA 値で埋める
for (let i = 0; i < imageData.data.length; i += 4) {
  // x 方向の割合の 255 倍
  let x = ((i % 400) / 400) \* 255;
  // y 方向の割合の 255 倍
  let y = (Math.ceil(i / 400) / 100) \* 255;

  // ピクセルデータを書き換える
  imageData.data[i + 0] = x; // R 値
  imageData.data[i + 1] = y; // G 値
  imageData.data[i + 2] = 255 - x; // B 値
  imageData.data[i + 3] = 255; // A 値
}

// 画像データをキャンバスに描画する
ctx.putImageData(imageData, 20, 20);
```


#### 結果

### 他の例

`ImageData.data` を用いる他の例は、キャンバスとピクセル操作・`CanvasRenderingContext2D.createImageData()`・`CanvasRenderingContext2D.putImageData()` を参照してください。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-imagedata-data-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `ImageData.height`
* `ImageData.width`
* `ImageData`
* `CanvasRenderingContext2D.createImageData()`
* `CanvasRenderingContext2D.putImageData()`
* キャンバスとピクセル操作
XRLightProbe: probeSpace プロパティ
==============================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`probeSpace`** は `XRLightProbe` インターフェイスの読み取り専用プロパティで、照明の推定が関連する位置と方向を追跡する `XRSpace` (en-US) を返します。

値
-

`XRSpace` (en-US) オブジェクトです。

例
-

`probeSpace` プロパティは、照明の推定が関連する空間の位置と方向を返します。ユーザーが移動すると、時間経過に伴って更新されます。各フレームで現在の照明状態を取得するには、 `XRFrame.getPose()` (en-US) メソッドを使用します。


```js
const lightProbe = await xrSession.requestLightProbe();
const probePose = xrFrame.getPose(lightProbe.probeSpace, xrReferenceSpace);
```

仕様書
---

| Specification |
| --- |
| WebXR Lighting Estimation API Level 1 # dom-xrlightprobe-probespace |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `XRSpace()` (en-US)
* `XRFrame.getPose()` (en-US)
XRLightProbe: reflectionchange イベント
===================================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

WebXR の **`reflectionchange`** イベントは、推定反射立方体のマップが変更されるたびに発生します。これは、異なる照明条件での使用や、照明自体の直接的な変更に応じて発生します。このイベントはキャンセル不可です。

構文
--

このイベント名を `addEventListener()` などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。


```js
addEventListener("reflectionchange", (event) => {});

onreflectionchange = (event) => {};
```

イベント型
-----

`Event` です。

例
-

### `reflectionchange` イベントの使用

照明に関する `reflectionchange` イベントが発生するたびに、`XRWebGLBinding.getReflectionCubeMap()` (en-US) を呼び出すことで、更新された立方体マップを取得することができます。この方法は、 `XRFrame` (en-US) ごとに照明情報を取得するよりもコストがかかりません。


```js
const glBinding = new XRWebGLBinding(xrSession, gl);
const lightProbe = await xrSession.requestLightProbe();
let glCubeMap = glBinding.getReflectionCubeMap(lightProbe);

lightProbe.addEventListener("reflectionchange", () => {
  glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
});
```

### `onreflectionchange` イベントハンドラープロパティ

`reflectionchange` イベントは `onreflectionchange` イベントハンドラープロパティを使用しても利用できます。


```js
lightProbe.onreflectionchange = (event) => {
  glCubeMap = glBinding.getReflectionCubeMap(lightProbe);
};
```

仕様書
---

| Specification |
| --- |
| WebXR Lighting Estimation API Level 1 # eventdef-xrlightprobe-reflectionchange |
| WebXR Lighting Estimation API Level 1 # dom-xrlightprobe-onreflectionchange |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `addEventListener()`
SourceBufferList.length
=======================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

`SourceBufferList` インターフェイスの **`length`** 読み取り専用プロパティは、リスト内の `SourceBuffer` オブジェクトの数を返します。

構文
--
```

var myListLength = sourceBufferList.length;
```

### 値

unsigned long 型の数。

例
-

未定

仕様
--

| Specification |
| --- |
| Media Source Extensions™ # dom-sourcebufferlist-length |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `MediaSource`
* `SourceBuffer`
OfflineAudioContext.resume()
============================

**`resume()`** は `OfflineAudioContext` インターフェイスのメソッドで、 一時停止していた音声コンテキストの時刻の進行を再開します。 `OfflineAudioContext` は音声ハードウェアを必要としないので、プロミスはすぐに解決されます。

構文
--


```js
resume()
```

### 引数

なし。

### 返値

`Promise` で、 `undefined` に解決します。

### 例外

例外が発生した場合、プロミスが拒否されます。

`InvalidStateError` `DOMException`

コンテキストが現在中断されていないか、レンダリングが始まっていない場合に返されます。

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-offlineaudiocontext-resume |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
OfflineAudioContext.length
==========================

**`length`** は `OfflineAudioContext` インターフェイスのプロパティで、バッファーのサイズをサンプルフレーム単位で表した整数を返します。

値
-

整数で、バッファーのサイズをサンプルフレーム単位で表します。

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-offlineaudiocontext-length |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
OfflineAudioContext()
=====================

**`OfflineAudioContext()`** コンストラクターは、ウェブオーディオ API の一部で、新しい `OfflineAudioContext` オブジェクトインスタンスを生成して返します。これは音声出力機器ではなく `AudioBuffer` に音声を出力することができるものです。

構文
--


```js
new OfflineAudioContext(options)

new OfflineAudioContext(numberOfChannels, length, sampleRate)
```

### 引数

`OfflineAudioContext()` コンストラクターの引数は `BaseAudioContext.createBuffer` メソッドに入力する引数と同じものを指定するか、あるいは `options` オブジェクトにそれらの引数を渡して指定することも可能です。いずれにせよ、個々の引数は同じものです。

`numberOfChannels`

整数で、結果の `AudioBuffer` が持つチャンネル数を指定します。

`length`

整数値で、音声コンテキスト用に作成するバッファーのサイズを指定します。サンプルフレームは、音声データの各チャンネルに対して、音声データの単一のサンプルを格納することができる単位です。例えば、 `sampleRate` が 48000Hz で 5 秒間のバッファーは `5 * 48000 = 240000` サンプルフレームの長さになります。

`sampleRate`

リニア音声データのサンプルレート（1 秒あたりのサンプルフレーム数）。すべてのユーザーエージェントは 8000Hz から 96000Hz の範囲に対応していますが、それよりも広い範囲に対応することもあります。最も有益なのは 44100Hz で、これは CD 音声で使用されるサンプルレートです。

注意すべき点は、引数なしで `AudioContext` コンストラクターを使用して新しい `new AudioContext()` が作成できるのに対し、 `OfflineAudioContext()` コンストラクターは `AudioBuffer` を作成しなければいけないので 3 つの引数が必要になる点です。これは新しい `AudioBuffer` を `BaseAudioContext.createBuffer` メソッドで作成したときと全く同じように動作します。詳しくはオーディオバッファー: フレーム、サンプル、チャンネルセクションをご覧ください。

### 返値

新しい `OfflineAudioContext` オブジェクトで、関連付けられた `AudioBuffer` はリクエストされたとおりに構成されます。

通常の `AudioContext` と同様に、 `OfflineAudioContext` はイベントの対象となることができます。そのため、このインターフェイスは `EventTarget` を実装しています。

例
-


```js
const offlineCtx = new OfflineAudioContext({
  numberOfChannels: 2,
  length: 44100 \* 40,
  sampleRate: 44100,
});
const source = offlineCtx.createBufferSource();
// …
```


動作する例全体は、 offline-audio-context-promise を GitHub リポジトリーで参照してください（ソースコードも参照してください）。

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-offlineaudiocontext-offlineaudiocontext |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
OfflineAudioContext.suspend()
=============================

**`suspend()`** は `OfflineAudioContext` インターフェイスのメソッドで、指定した時刻に音声コンテキストの時間進行の停止をスケジュールし、プロミスを返します。これは一般に、 OfflineAudioContext 上で音声グラフを同期的に操作する時刻に使用されます。

 サスペンドの最大精度はレンダー量のサイズであり、指定したサスペンド時刻は最も近いレンダー量の境界に切り捨てられることに注意してください。
 このため、同じ量子化フレームで複数のサスペンドをスケジュールすることはできません。また、正確なサスペンドを確保するために、スケジューリングはコンテキストが実行されていない間に行われるべきです。

構文
--


```js
suspend(suspendTime)
```

### 引数

`suspendTime`

数値で、停止時間を秒単位で指定します。

### 返値

`Promise` で、 `undefined` に解決します。

### 例外

例外が発生した場合、プロミスは拒否されます。

`InvalidStateError` `DOMException`

量子化フレーム番号が以下のいずれかである場合に返されます。

* 負の数
* 現在の時刻よりいくつか小さいか等しい。
* レンダリング総時間より大きいか、等しい。
* 同じ時刻に他のサスペンドによってスケジュールされている。

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-offlineaudiocontext-suspend |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
OfflineAudioContext.startRendering()
====================================

`startRendering()` は `OfflineAudioContext` のメソッドで、オーディオグラフのレンダリングを開始します。このインターフェイスは、現在の接続と現在のスケジュール変更を考慮して、音声グラフのレンダリングを開始します。

`complete` イベント（`OfflineAudioCompletionEvent` 型）がレンダリングが完了すると発生し、その結果である `AudioBuffer` が `renderedBuffer` プロパティに格納されます。

ブラウザーの対応する `startRendering()` メソッドには、古いイベントベースと新しいプロミスベースの 2 つのバージョンがあります。前者はいずれ削除される予定ですが、現在は古い理由のために両方のメカニズムが提供されています。

構文
--


```js
startRendering()
```

### 引数

なし。

### 返値

なし (`undefined`)。

例
-

この単純な例では、`AudioContext` と `OfflineAudioContext` オブジェクトの両方を宣言しています。次に `OfflineAudioContext` を使用して、音声を `BaseAudioContext.decodeAudioData` にレンダリングし、その音声を再生します。オフライン音声グラフを設定したら、`OfflineAudioContext.startRendering` を使用して `AudioBuffer` にレンダリングする必要があります。

`startRendering()` のプロミスが解決すると、レンダリングが完了しており、出力の `AudioBuffer` がプロミスから返されます。

この時点で、別の音声コンテキストを作成し、その中に `AudioBufferSourceNode` を作成し、そのバッファーをプロミス `AudioBuffer` と等しくなるように設定します。これは単純な標準音声グラフの一部として再生されます。

**メモ:** 動作する例については、 offline-audio-context-promise を GitHub リポジトリーで参照してください（ソースコードも参照）。


```js
// define online and offline audio context

const audioCtx = new AudioContext();
const offlineCtx = new OfflineAudioContext(2, 44100 \* 40, 44100);

source = offlineCtx.createBufferSource();

// use XHR to load an audio track, and
// decodeAudioData to decode it and OfflineAudioContext to render it

function getData() {
  request = new XMLHttpRequest();

  request.open("GET", "viper.ogg", true);

  request.responseType = "arraybuffer";

  request.onload = () => {
    const audioData = request.response;

    audioCtx.decodeAudioData(audioData, (buffer) => {
      myBuffer = buffer;
      source.buffer = myBuffer;
      source.connect(offlineCtx.destination);
      source.start();
      //source.loop = true;
      offlineCtx
        .startRendering()
        .then((renderedBuffer) => {
          console.log("Rendering completed successfully");
          const offlineAudioCtx = new AudioContext();
          const song = offlineAudioCtx.createBufferSource();
          song.buffer = renderedBuffer;

          song.connect(offlineAudioCtx.destination);

          play.onclick = () => {
            song.start();
          };
        })
        .catch((err) => {
          console.error(`Rendering failed: ${err}`);
          // Note: The promise should reject when startRendering is called a second time on an OfflineAudioContext
        });
    });
  };

  request.send();
}

// Run getData to start the process off

getData();
```

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-offlineaudiocontext-startrendering |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* ウェブオーディオ API の使用
OfflineAudioContext: complete イベント
==================================

`complete` は `OfflineAudioContext` インターフェイスのイベントで、オフライン音声コンテキストのレンダリングが完了したときに発行されます。

このイベントはキャンセル不可で、バブリングしません。

構文
--

このイベント名を `addEventListener()` のようなメソッドで使用するか、イベントハンドラープロパティを設定するかします。


```js
addEventListener("complete", (event) => {});

oncomplete = (event) => {};
```

イベント型
-----

`OfflineAudioCompletionEvent` です。 `Event` を継承しています。

Event

OfflineAudioCompletionEventイベントプロパティ
---------

*親である `Event` からプロパティを継承しています*。

`OfflineAudioCompletionEvent.renderedBuffer` 読取専用 

`AudioBuffer` で、 `OfflineAudioContext` の処理結果が入っています。

例
-

処理が完全に終了したら、 `complete` イベントハンドラーを使用して、音声をこれで使用できることをユーザーに知らせ、再生ボタンを有効にしたいと思うかもしれません。


```js
const offlineAudioCtx = new OfflineAudioContext();

offlineAudioCtx.addEventListener("complete", () => {
  console.log("Offline audio processing now complete");
  showModalDialog("Song processed and ready to play");
  playBtn.disabled = false;
});
```


また、 `oncomplete` プロパティを使用して、イベントハンドラーを設定することもできます。


```js
const offlineAudioCtx = new OfflineAudioContext();

offlineAudioCtx.oncomplete = () => {
  console.log("Offline audio processing now complete");
  showModalDialog("Song processed and ready to play");
  playBtn.disabled = false;
};
```

仕様書
---

| Specification |
| --- |
| Web Audio API # OfflineAudioCompletionEvent |
| Web Audio API # dom-offlineaudiocontext-oncomplete |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* ウェブオーディオ API
URL: hostname プロパティ
===================

**`hostname`** は `URL` インターフェイスのプロパティで、URL のドメイン名の入った文字列です。

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

値
-

文字列です。

例
-


```js
const url = new URL(
  "https://developer.mozilla.org/ja/docs/Web/API/URL/hostname",
);
console.log(url.hostname); // 'developer.mozilla.org' をログ出力
```

仕様書
---

| Specification |
| --- |
| URL Standard # dom-url-hostname |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属先の `URL` インターフェイス
URL: searchParams プロパティ
=======================

**`searchParams`** は `URL` インターフェイスの読み取り専用プロパティで、URL に含まれる `GET` デコードされたクエリー引数へのアクセスを可能にする `URLSearchParams` オブジェクトを返します。

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

値
-

`URLSearchParams` オブジェクト。

例
-

ページの URL が `https://example.com/?name=Jonathan%20Smith&age=18` である場合、次を使用して `name` および `age` 引数を解釈できます。


```js
let params = new URL(document.location).searchParams;
let name = params.get("name"); // 文字列 "Jonathan Smith" です。
let age = parseInt(params.get("age")); // 数値 18 です。
```

仕様書
---

| Specification |
| --- |
| URL Standard # dom-url-searchparams |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
URL: password プロパティ
===================

**`password`** は `URL` インターフェイスのプロパティで、ドメイン名の前に指定されたパスワードの入った文字列です。

先に `username` プロパティを設定せずに設定しようとすると、暗黙の裡に失敗します。

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

値
-

文字列です。

例
-


```js
const url = new URL(
  "https://anonymous:flabada@developer.mozilla.org/ja/docs/Web/API/URL/password",
);
console.log(url.password); // "flabada" とログ出力
```

仕様書
---

| Specification |
| --- |
| URL Standard # dom-url-password |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属先の `URL` インターフェイス
URL: hash プロパティ
===============

**`hash`** は `URL` インターフェイスのプロパティで、`'#'` の後に URL のフラグメント識別子が続く文字列を返します。

フラグメントはパーセントデコードされていません。 URL にフラグメント識別子がない場合、このプロパティには空文字列 (`""`) が入ります。

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

値
-

文字列です。

例
-


```js
const url = new URL(
  "https://developer.mozilla.org/ja/docs/Web/API/URL/href#Examples",
);
console.log(url.hash); // '#Examples' をログ出力
```

仕様書
---

| Specification |
| --- |
| URL Standard # dom-url-hash |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属先の `URL` インターフェイス
URL: revokeObjectURL() 静的メソッド
=============================

**`URL.revokeObjectURL()`** 静的メソッドは、以前に `URL.createObjectURL_static` を呼び出して生成された既存のオブジェクト URL を解放します。

オブジェクト URL を使い終わったら、このメソッドを呼び出して、ファイルへの参照をこれ以上保持しないようにブラウザーに知らせます。

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

**メモ:** このメソッドは、`Blob` インターフェイスのライフサイクルの問題とリークの可能性があるため、サービスワーカーからは利用できません。

構文
--


```js
URL.revokeObjectURL(objectURL)
```

### 引数

`objectURL`

以前に `createObjectURL()` を呼び出して生成されたオブジェクト URL を表す文字列です。

### 返値

なし (`undefined`)。

例
-

オブジェクト URL で画像を表示を参照してください。

仕様書
---

| Specification |
| --- |
| File API # dfn-revokeObjectURL |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* ウェブアプリケーションからのファイルの使用
* オブジェクト URL で画像を表示
* `URL.createObjectURL_static`
URL: search プロパティ
=================

**`search`** は `URL` インターフェイスのプロパティで、*クエリー文字列*とも呼ばれる検索文字列、つまり `'?'` とその後に続く URL の引数をの入った文字列です。

最新のブラウザーでは `URL.searchParams` プロパティを提供して、クエリー文字列から引数を簡単に解析できるようにしています。

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

値
-

文字列です。

例
-


```js
const url = new URL(
  "https://developer.mozilla.org/ja/docs/Web/API/URL/search?q=123",
);
console.log(url.search); // "?q=123" とログ出力
```

仕様書
---

| Specification |
| --- |
| URL Standard # dom-url-search |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属先の `URL` インターフェイス
URL: port プロパティ
===============

**`port`** は `URL` インターフェイスのプロパティで、この URL のポート番号の入った文字列です。

**メモ:** `URL()` コンストラクターに渡された入力文字列が明示的なポート番号を含んでいないか（例えば `https://localhost`）、入力文字列のプロトコル部分に対応する既定のポート番号を含んでいる場合（例えば `https://localhost:443`）、コンストラクターが返す `URL` オブジェクトの port プロパティの値は空文字列 (`''`) になります。

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

値
-

文字列です。

例
-


```js
const url = new URL("https://example.com:80/svn/Repos/");
console.log(url.port); // '80' と出力
```

仕様
--

| Specification |
| --- |
| URL Standard # dom-url-port |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属先の `URL` インターフェイス
URL: pathname プロパティ
===================

**`pathname`** は `URL` インターフェイスのプロパティで、階層構造内のある位置を表します。これはパスセグメントのリストで構成される文字列で、それぞれの先頭に `/` 文字が付きます。URL にパスセグメントがない場合、 `pathname` プロパティの値は空文字列になります。

`https` や `http` などの URL で、階層スキーム（URL 標準では "special schemes" と呼んでいます）を持つ URL は、常に少なくとも 1 つの（不可視の）パスセグメント、つまり空文字列を持ちます。そのため、そのような "special scheme" を持つ URL の `pathname` の値は決して空文字列にはなりません。

例えば、URL `https://developer.mozilla.org` のパスセグメントは空文字列の 1 つだけなので、 `pathname` の値は空文字列の前に `/` 文字を付加して構成されます。

システムによっては、スラッグという用語は、人間が読めるキーワードでページを特定する場合、空でないパスの最後のセグメントを意味すると定義しています。例えば、`https://example.org/articles/this-that-other-outre-collection` という URL のスラッグは `this-that-other-outre-collection` です。

システムによっては `;` と `=` の文字を使って、パスセグメントに適用できる引数と引数の値を区切ります。例えば、`https://example.org/users;id=42/tasks;state=open?sort=modified` という URL の場合、システムは `users;id=42` と `tasks;state=open` というパスセグメントから `id=42` と `state=open` というパスセグメント引数を抽出して使用するかもしれません。

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

値
-

文字列です。

例
-


```js
const url = new URL(
  "https://developer.mozilla.org/ja/docs/Web/API/URL/pathname?q=value",
);
console.log(url.pathname); // "/ja/docs/Web/API/URL/pathname" とログ出力
```

仕様書
---

| Specification |
| --- |
| URL Standard # dom-url-pathname |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属先の `URL` インターフェイス
URL: host プロパティ
===============

**`host`** は `URL` インターフェイスのプロパティで、ホスト、すなわち `hostname` の入った文字列です。URL の ポート番号 が空でない場合は、`':'`、および URL の `port` が続きます。

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

値
-

文字列です。

例
-


```js
let url = new URL("https://developer.mozilla.org/ja/docs/Web/API/URL/host");
console.log(url.host); // "developer.mozilla.org"

url = new URL("https://developer.mozilla.org:443/ja/docs/Web/API/URL/host");
console.log(url.host); // "developer.mozilla.org"
// 443 がスキームの既定のポートであるため、ポート番号は含まれません

url = new URL("https://developer.mozilla.org:4097/ja/docs/Web/API/URL/host");
console.log(url.host); // "developer.mozilla.org:4097"
```

仕様書
---

| Specification |
| --- |
| URL Standard # dom-url-host |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属先の `URL` インターフェイス
URL: toString() メソッド
====================

**`URL.toString()`** は文字列化メソッドで、URL 全体が入った文字列を返します。 これは事実上、`URL.href` の読み取り専用バージョンです。

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

構文
--


```js
toString()
```

### 引数

なし。

### 返値

文字列です。

例
-


```js
const url = new URL(
  "https://developer.mozilla.org/ja/docs/Web/API/URL/toString",
);
url.toString(); // URL を文字列として返します
```

仕様書
---

| Specification |
| --- |
| URL Standard # URL-stringification-behavior |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 所属先の `URL` インターフェイス