recursal/MDN huggingface dataset:
Request.clone()
===============

**`clone()`** は `Request` インターフェイスのメソッドで、現在の `Request` オブジェクトのコピーを生成します。

 基礎となる `ReadableStream.tee` API と同様に、複製された `Response` の `body` は 2 つの本体のうち速い方のコンシューマーの速度で背圧を通知し、未読データは制限や背圧なしに遅い方のコンシューマーによる `body` に内部でキューイングされます。
 ストリームから `Request` を作成し、それを `clone` するときには注意が必要です。

`clone()` は、リクエスト本体が既に使用されている場合、 `TypeError` を発生させます。実際、`clone()` が存在する主な理由は、（一度しか使用しない場合に）本体オブジェクトを複数回使用することを可能にするためです。

もしリクエストを変更するつもりなら、 `Request` コンストラクターの方がいいかもしれません。

構文
--


```js
clone()
```

### 引数

なし。

### 返値

`clone()` が呼び出された `Request` の正確なコピーである `Request` オブジェクト。

例
-

次のスニペットは、`Request.Request()` コンストラクタをー使って（スクリプトと同じディレクトリーにある画像ファイルのために）新しいリクエストを生成してから、リクエストをコピーしています。


```js
const myRequest = new Request("flowers.jpg");
const newRequest = myRequest.clone(); // a copy of the request is now stored in newRequest
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-clone① |

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

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

関連項目
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.integrity
=================

**`integrity`** は `Request` インターフェイスの読み取り専用プロパティで、このリクエストのサブリソース完全性の値を保持します。

値
-

リクエストのサブリソース完全性の値（`sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=` など）。

完全性が指定されていない場合、 `''` を返します。

例
-

次のスニペットでは `Request.Request()` コンストラクターを使用して新しいリクエストを作成し（スクリプトと同じディレクトリーにある画像ファイルに対して）、そのリクエストの `integrity` 値を変数に保存します。


```js
const myRequest = new Request("flowers.jpg");
const myIntegrity = myRequest.integrity;
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-integrity② |

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

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

関連項目
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.body
============

**`body`** は `Request` インターフェイスの読み取り専用プロパティで、
 このインターフェイスは、リクエストに追加された本体のコンテンツを含む `ReadableStream` を保持します。 `GET` や `HEAD` メソッドを使用したリクエストは本体を持つことができず、その場合は `null` が返されることに注意してください。

値
-

`ReadableStream` または `null`。

例
-


```js
const request = new Request("/myEndpoint", {
  method: "POST",
  body: "Hello world",
});

request.body; // ReadableStream
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-body-body① |

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

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

関連情報
----

* `Request.bodyUsed`
Request.referrerPolicy
======================

**`referrerPolicy`** は `Request` インターフェイスの読み取り専用プロパティで、`Referer` ヘッダーで送信されるどのリファラー情報がリクエストに記載されるべきかを管理する、リファラーポリシーを返します。

値
-

このリクエストの `referrerPolicy` を表す文字列です。詳細な情報や使用可能な値については、 HTTP の `Referrer-Policy` ヘッダーのページを参照してください。

例
-

次のスニペットでは、 `Request.Request()` コンストラクターを使って（スクリプトと同じディレクトリーにある画像ファイルのための）新しいリクエストを生成してから、変数にリクエストのリファラーポリシーを保存しています。


```js
const myRequest = new Request("flowers.jpg");
const myReferrer = myRequest.referrerPolicy; // returns "" by default
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-referrerpolicy② |

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

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

関連情報
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.url
===========

**`url`** は `Request` インターフェイスの読み取り専用プロパティで、リクエストの URL を保持します。

値
-

リクエストの URL を示す文字列です。

例
-

次のスニペットでは、 `Request.Request()` コンストラクターを使って（スクリプトと同じディレクトリーにある画像ファイルのための）新しいリクエストを生成してから、変数にリクエストの URL を保存しています。


```js
const myRequest = new Request("flowers.jpg");
const myURL = myRequest.url; // "https://github.com/mdn/dom-examples/tree/main/fetch/fetch-request/flowers.jpg"
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-url③ |

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

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

関連項目
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.json()
==============

**`json()`** は `Request` インターフェイスのメソッドで、
 このメソッドはリクエスト本体を読み込み、本文を解釈した結果を `JSON` として解決したプロミスとして返します。

このメソッドは `json()` という名前ですが、結果は JSON ではなく、JSON を入力として受け取り、それを解釈して JavaScript オブジェクトを生成した結果であることに注意してください。

構文
--


```js
json()
```

### 引数

なし。

### 返値

JavaScript のオブジェクトに解決する `Promise` です。このオブジェクトは、オブジェクト、配列、文字列、数値など、JSON で表せるものであれば何でもかまいません。

例
-


```js
const obj = { hello: "world" };

const request = new Request("/myEndpoint", {
  method: "POST",
  body: JSON.stringify(obj),
});

request.json().then((data) => {
  // do something with the data sent in the request
});
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-body-json① |

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

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

関連情報
----

* `Response.json()`
Request.arrayBuffer()
=====================

**`arrayBuffer()`** は `Request` インターフェイスのメソッドで、リクエスト本体を読み込み、それを `ArrayBuffer` で解決するプロミスとして返します。

構文
--


```js
arrayBuffer()
```

### 引数

なし。

### 返値

`ArrayBuffer` で解決するプロミス。

例
-


```js
const myArray = new Uint8Array(10);

const request = new Request("/myEndpoint", {
  method: "POST",
  body: myArray,
});

request.arrayBuffer().then((buffer) => {
  // do something with the buffer sent in the request
});
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-body-arraybuffer① |

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

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

関連情報
----

* `Response.arrayBuffer()`
Request.redirect
================

**`redirect`** は `Request` インターフェイスの読み取り専用プロパティで、リダイレクトを処理する方法のモードを保持します。

値
-

`RequestRedirect` 列挙値で、以下の文字列のいずれかになります。

* `follow`
* `error`
* `manual`

リクエストの作成時に指定されなかった場合は、既定値の `follow` になります。

例
-

次のスニペットでは、 `Request.Request()` コンストラクターを使用して（スクリプトと同じディレクトリにある画像ファイルのために）新しいリクエストを作成し、そのリクエストの `redirect` の値を変数に保存します。


```js
const myRequest = new Request("flowers.jpg");
const myCred = myRequest.redirect;
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-redirect② |

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

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

関連項目
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.destination
===================

**`destination`** は **`Request`** インターフェイスの読み取り専用プロパティで、リクエストされたコンテンツの種類を記述した文字列を返します。

 この文字列は、 `audio`, `audioworklet`,
 `document`, `embed`, `font`, `frame`,
 `iframe`, `image`, `manifest`, `object`,
 `paintworklet`, `report`, `script`, `sharedworker`,
 `style`, `track`, `video`, `worker`,
 `xslt`、または空文字列（既定値）の何れかでなければなりません。

この `destination` はユーザーエージェントによって使用され、例えば、 CORS のためにどのルールに従うべきか、あるいは特定の型の入力がどのように処理されるかに影響する複雑なコードパスをどのようにナビゲートするかを決定するのに役に立ちます。

これらの出力先によって、その処理方法は大きく異なります。あるものはデータを受け取るもので、受け取ったデータは後で処理するために格納さ れます。他にもスクリプトベースのものがあり、その場合は受け取ったデータはスクリプトを呼び出してデータを渡すことで配信されます。スクリプトベースの出力先には `<script>` 要素、 `Worklet` ベースの出力先（`AudioWorklet` や `PaintWorklet` (en-US) など）、 `Worker` ベースの出力先（`ServiceWorker` や `SharedWorker` など）が含まれます。

値
-

リクエストが要求したコンテンツの型を示す文字列。この型は通常の文書型の値（`"document"` や `"manifest"`）よりもはるかに広く、`"image"` や `"worker"` や `"audioworklet"` などのコンテキストに応じた手がかりを含んだものである可能性があります。

使用可能な値は以下の通りです。

`""`

自分自身で値を持たない出力先には、既定で `destination` が使用されます。 navigator.sendBeacon(), EventSource, <a ping>, <area ping>, fetch(), XMLHttpRequest, WebSocket, Cache などです。

`"audio"`

対象は音声データです。

`"audioworklet"`

対象は、音声ワークレットを使用するために取得されるデータです。

`"document"`

対象は文書（HTML または XML）です。

`"embed"`

対象は埋め込みコンテンツです。

`"font"`

対象はフォントです。

`"image"`

対象は画像です。

`"manifest"`

対象はマニフェストです。

`"object"`

対象はオブジェクトです。

`"paintworklet"`

対象は描画ワークレットです。

`"report"`

対象はレポートです。

`"script"`

対象はスクリプトです。

`"serviceworker"`

対象はサービスワーカーです。

`"sharedworker"`

対象は共有ワーカーです。

`"style"`

対象はスタイルです。

`"track"`

対象は HTML の `<track>` です。

`"video"`

対象は動画データです。

`"worker"`

対象はワーカーです。

`"xslt"`

対象は XSLT 変換です。

例
-

以下のスニペットでは、`Request()`コンストラクターを使用して新しいリクエストを作成し（スクリプトと同じディレクトリーの画像ファイルに対して）、リクエスト出力先を保存しています。


```js
const myRequest = new Request("flowers.jpg");
const myDestination = myRequest.destination; // returns the empty string by default
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-destination① |

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

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

関連情報
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.method
==============

**`method`** は `Request` インターフェイスの読み取り専用プロパティで、このリクエストのメソッド（`GET`、`POST` など）を保持します。

値
-

リクエストメソッドを示す文字列です。

例
-

次のスニペットは、`Request.Request()` コンストラクターを使って（スクリプトと同じディレクトリーにある画像ファイルのために）新しいリクエストを生成してから、リクエストメソッドを変数に保存しています。


```js
const myRequest = new Request("flowers.jpg");
const myMethod = myRequest.method; // GET
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-method② |

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

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

関連項目
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.text()
==============

**`text()`** は `Request` インターフェイスのメソッドで、リクエスト本体を読み込み、文字列で解決されるプロミスとして返します。
 レスポンスは常に UTF-8 を使用してデコードされます。

構文
--


```js
text()
```

### 引数

なし。

### 返値

文字列で解決する `Promise`。

例
-


```js
const text = "Hello world";

const request = new Request("/myEndpoint", {
  method: "POST",
  body: text,
});

request.text().then((text) => {
  // do something with the text sent in the request
});
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-body-text① |

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

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

関連情報
----

* `Response.text()`
Request.referrer
================

**`referrer`** は `Request` インターフェイスの読み取り専用プロパティで、ユーザーエージェントによってリクエストのリファラーが設定されます（`about:client` や `no-referrer`、URL、など）。

**メモ:** `referrerPolicy` の値が `no-referrer` だった場合、空文字が返されます。

値
-

このリクエストのリファラーを表す文字列です。

例
-

次のスニペットでは、 `Request.Request()` コンストラクターを使って（スクリプトと同じディレクトリーにある画像ファイルのための）新しいリクエストを生成してから、リクエストのリファラーを変数に保存しています。


```js
const myRequest = new Request("flowers.jpg");
const myReferrer = myRequest.referrer; // returns "about:client" by default
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-referrer① |

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

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

関連項目
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.formData()
==================

**`formData()`** は `Request` インターフェイスのメソッドで、リクエスト本体を読み込み、 `FormData` オブジェクトで解決するプロミスとして返します。

構文
--


```js
formData()
```

### 引数

なし。

### 返値

`Promise` であり、 `FormData` オブジェクトで解決します。

例
-


```js
const formData = new FormData();
const fileField = document.querySelector('input[type="file"]');

formData.append("username", "abc123");
formData.append("avatar", fileField.files[0]);

const request = new Request("/myEndpoint", {
  method: "POST",
  body: formData,
});

request.formData().then((data) => {
  // do something with the formdata sent in the request
});
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-body-formdata① |

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

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

関連情報
----

* `Response.formData()`
Request.headers
===============

**`headers`** は `Request` インターフェイスの読み取り専用プロパティで、リクエストに関連する `Headers` オブジェクトを保持します。

値
-

`Headers` オブジェクト。

例
-

次のスニペットは、`Request.Request()` コンストラクターを使って（スクリプトと同じディレクトリーにある画像ファイルのために）新しいリクエストを生成してから、リクエストの headers を変数に保存しています。


```js
const myRequest = new Request("flowers.jpg");
const myHeaders = myRequest.headers; // Headers {}
```


`Headers` オブジェクトにヘッダーを追加するためには、`Headers.append` を使用します。次に、新しい `Request` を作成する際に初期化のための第二引数を渡し、初期化オプションとしてヘッダーを渡します。


```js
const myHeaders = new Headers();
myHeaders.append("Content-Type", "image/jpeg");

const myInit = {
  method: "GET",
  headers: myHeaders,
  mode: "cors",
  cache: "default",
};

const myRequest = new Request("flowers.jpg", myInit);

const myContentType = myRequest.headers.get("Content-Type"); // returns 'image/jpeg'
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-headers② |

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

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

関連項目
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.credentials
===================

**`credentials`** は `Request` インターフェイスの読み取り専用プロパティで、オリジン間リクエストの場合に、ユーザーエージェントが他のドメインからクッキーを送信または受信するべきかどうかを示すものです。

### 値

`RequestCredentials` 辞書の値で、オリジン間リクエストの場合、ユーザーエージェントが他のドメインからクッキーを送信するか受信するかを示します。使用可能な値は以下の通りです。

`omit`

クッキーを送受信しません。

`same-origin`

URL が呼び出し元のスクリプトと同一オリジンだった場合のみ、ユーザーの資格情報 (HTTP Basic 認証、など) を送信します。 **これが既定値です。**

`include`

オリジン間の呼び出しであっても、常にユーザーの資格情報 (クッキー、HTTP Basic 認証、、など) を送信します。

これは XHR の `withCredentials` フラグと似ていますが、有効な値が 2 つではなく 3 つあります。

例
-

次のスニペットは、`Request.Request()` コンストラクターを使って（スクリプトと同じディレクトリーにある画像ファイルのために）新しいリクエストを生成してから、リクエストの資格情報を変数に保存しています。


```js
const myRequest = new Request("flowers.jpg");
const myCred = myRequest.credentials; // 既定で "same-origin" を返す
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-credentials② |

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

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

関連情報
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.bodyUsed
================

**`bodyUsed`** は `Request` インターフェイスの読み取り専用プロパティで、リクエスト本体がまだ読み込まれていないかどうかを示す論理値です。

値
-

論理値です。

例
-


```js
const request = new Request("/myEndpoint", {
  method: "POST",
  body: "Hello world",
});

request.bodyUsed; // false

request.text().then((bodyAsText) => {
  console.log(request.bodyUsed); // true
});
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-body-bodyused① |

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

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

関連情報
----

* `Request.body`
Request.mode
============

**`mode`** は `Request` インターフェイスの読み取り専用プロパティで、リクエストのモード（たとえば、`cors`、`no-cors`、`same-origin`、`navigate`、`websocket`）を保持します。これは、オリジン間リクエストに対して有効なレスポンスができるか、またレスポンスのプロパティが読み取り可能かどうかを判定するために使用されます。

値
-

`RequestMode` の値です。

*mode* に関連する値には、次のものが使用できます。

`same-origin`

このモードを設定してほかのオリジンにリクエストをした場合、結果はエラーになります。リクエストが常に同一オリジンに行われることを保証するために使用できます。

`no-cors`

メソッドが `HEAD`、`GET`、`POST` 以外にならないようにし、ヘッダーが単純ヘッダー以外のものにならないようにします。サービスワーカーがこれらのリクエストに介入した場合、単純ヘッダー以外のヘッダーを追加したり上書きしたりすることはできません。さらに、 JavaScript で結果の `Response` のプロパティにアクセスすることはできません。これは、サービスワーカーがウェブの意味づけに影響を与えないようにし、ドメイン間でデータが漏れることによって生じるセキュリティとプライバシーの問題を防ぐためです。

`cors`

オリジン間リクエストを許可します。たとえば、サードパーティベンダーが提供する様々な API にアクセスできます。これらは、CORS プロトコルに則ることが期待されています。制限されたヘッダーしか `Response` からは見えないようになりますが、本体は読み取り可能です。

`navigate`

ナビゲーションに対応しているモードです。 `navigate` 値は HTML ナビゲーションでのみ使用されることを意図しています。 navigate リクエストは文書内のナビゲーションをするときだけ作成されます。

`websocket`

WebSocket 接続を確立するときだけ使用される特殊なモードです。



#### 既定のモード

リクエストは様々な方法で開始されますが、リクエストのモードは、それが開始された具体的な手段によって異なります。

たとえば、 `Request` オブジェクトが `Request()` コンストラクターで生成された場合、 `mode` の値は `cors` に設定されます。

しかし、リクエストが `Request()` コンストラクター以外で生成された場合は、ふつう `no-cors` がモードとして設定されます。たとえば、マークアップから生成された埋め込みリソースのようなリクエストは、 `crossorigin` 属性が設定されていない限り、 `no-cors`を利用します。そのようなものの例として、 `<link>` や `<script>` 要素（ただしモジュールを除く）、 `<img>`、`<audio>`、`<video>`、`<object>`、`<embed>`、`<iframe>` 要素などが存在します。

例
-

以下のスニペットは、 `Request()` コンストラクターを使って（スクリプトと同じディレクトリーにある画像ファイルのために）新しいリクエストを生成してから、リクエストモードを変数に保存しています。


```js
const myRequest = new Request("flowers.jpg");
const myMode = myRequest.mode; // returns "cors" by default
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-request-mode② |

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

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

関連情報
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
Request.blob()
==============

**`arrayBuffer()`** は `Request` インターフェイスのメソッドで、リクエスト本体を読み込み、それを `Blob` で解決するプロミスとして返します。

構文
--


```js
blob()
```

### 引数

なし。

### 返値

`Blob` で解決するプロミス。

例
-


```js
const obj = { hello: "world" };
const myBlob = new Blob([JSON.stringify(obj, null, 2)], {
  type: "application/json",
});

const request = new Request("/myEndpoint", {
  method: "POST",
  body: myBlob,
});

request.blob().then((myBlob) => {
  // do something with the blob sent in the request
});
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # ref-for-dom-body-blob① |

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

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

関連情報
----

* `Response.blob()`
SpeechSynthesisEvent: utterance プロパティ
=====================================

**`utterance`** は `SpeechSynthesisUtterance` インターフェイスの読み取り専用プロパティで、イベントが発生した `SpeechSynthesisUtterance` インスタンスを返します。

値
-

`SpeechSynthesisUtterance` オブジェクトです。

例
-


```js
utterThis.onpause = (event) => {
  const char = event.utterance.text.charAt(event.charIndex);
  console.log(
    `Speech paused at character ${event.charIndex} of "${event.utterance.text}", which is "${char}".`,
  );
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisevent-utterance |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisEvent: SpeechSynthesisEvent() コンストラクター
=====================================================

**`SpeechSynthesisEvent()`** コンストラクターは、新しい `SpeechSynthesisEvent` オブジェクトを生成します。

**メモ:** ウェブ開発者は、通常このコンストラクターを呼び出す必要はありません。イベントを発生させるときに、ブラウザー自身がこれらのオブジェクトを生成するからです。

構文
--


```js
new SpeechSynthesisEvent(type, options)
```

### 引数

`type`

 文字列で、イベント名を指定します。
 大文字小文字を区別し、ブラウザーは `start`, `end`, `error`, `pause`, `resume`, `mark`, `boundary` を設定します。


`options`

オブジェクトで、 *`Event()` で定義されているプロパティに加え*、以下のプロパティを持つことができます。

`utterance`

イベントが発生した発話リクエストである `SpeechSynthesisUtterance` オブジェクトです。

`charIndex` 省略可

イベントが発生したときに発話されていた`SpeechSynthesisUtterance.text`内の文字のインデックス位置です。既定値は `0` です。

`charLength` 省略可

`charIndex` の位置にある文字の後に発話される残りの文字数です。既定値は `0` です。

`elapsedTime` 省略可

イベントが発生した時点の `SpeechSynthesisUtterance.text` が話し始めてからの経過時間（秒）です。既定値は `0` です。

`name` 省略可

特定の種類のイベントに関連付けられた名前です。 `mark` イベントの場合は到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。既定値は空文字列 (`""`) です。


### 返値

新しい `SpeechSynthesisEvent` オブジェクトです。

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisevent-speechsynthesisevent |

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

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

関連情報
----

* `SpeechSynthesisErrorEvent`
SpeechSynthesisEvent: charIndex プロパティ
=====================================

**`charIndex`** は `SpeechSynthesisUtterance` インターフェイスの読み取り専用プロパティで、イベントが発生したときに発話されていた `SpeechSynthesisUtterance.text` 内の文字のインデックス位置を返します。

値
-

数値です。

例
-


```js
utterThis.onpause = (event) => {
  const char = event.utterance.text.charAt(event.charIndex);
  console.log(
    `Speech paused at character ${event.charIndex} of "${event.utterance.text}", which is "${char}".`,
  );
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisevent-charindex |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisEvent: elapsedTime プロパティ
=======================================

**`elapsedTime`** は `SpeechSynthesisEvent` の読み取り専用プロパティで、このイベントが発生した時点での `SpeechSynthesisUtterance.text` を発話し始めてからの経過時間を秒単位で返します。

値
-

経過時間を秒単位で格納した浮動小数点数です。

**メモ:** 初期のバージョンの仕様書では、ミリ秒単位の経過時刻が必要でした。
 ブラウザーの互換性一覧表を確認してください。


例
-


```js
utterThis.onboundary = (event) => {
  console.log(
    `${event.name} boundary reached after ${event.elapsedTime} seconds.`,
  );
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisevent-elapsedtime |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisEvent: name プロパティ
================================

**`name`** は `SpeechSynthesisUtterance` インターフェイスの読み取り専用プロパティで、 `SpeechSynthesisUtterance.text` が話されているときに発生する、特定の種類のイベントに関連付けられた名前を返します。
 `mark` イベントの場合は、到達した SSML マーカーの名前、 `boundary` イベントの場合は到達した境界の種類です。

値
-

文字列です。

例
-


```js
utterThis.onboundary = (event) => {
  console.log(
    `${event.name} boundary reached after ${event.elapsedTime} seconds.`,
  );
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisevent-name |

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

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

関連情報
----

* ウェブ音声 API
SpeechSynthesisEvent: charLength プロパティ
======================================

**`charLength`** は `SpeechSynthesisEvent` インターフェイスの読み取り専用プロパティで、 `charIndex` の位置にある文字の後に発話される残りの文字数を返します。

音声エンジンが判断できない場合は 0 を返します。

値
-

整数です。

例
-


```js
utterThis.onpause = (event) => {
  const char = event.utterance.text.charAt(event.charIndex);
  const charLeft = event.charLength;
  if (charLeft) {
    console.log(
      `Speech paused. There are still ${charLeft} characters to be spoken.`,
    );
  } else {
    console.log(
      "Speech paused. The underlying speech engine can't tell how many characters are left.",
    );
  }
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # dom-speechsynthesisevent-charlength |

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

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

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

値
-

数値です。

例
-

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


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

仕様書
---

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

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

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

関連情報
----

* `ImageData.height`
* `ImageData`
ImageData: colorSpace プロパティ
===========================

読み取り専用プロパティ **`ImageData.colorSpace`** は、画像データの色空間を表す文字列です。

色空間は、`ImageData()` コンストラクターまたは `createImageData()` メソッドを用いて、`ImageData` の初期化時に設定できます。

値
-

このプロパティは以下の値を取りえます。

* sRGB 色空間を表す `"srgb"`
* display-p3 色空間を表す `"display-p3"`
例
-

### キャンバスの画像データの色空間の取得

`getImageData()` では、色空間を明示的に要求できます。この色空間がキャンバスの初期化時の色空間と異なる場合は、変換が行われます。`ImageData` オブジェクトの色空間を知るには、`colorSpace` プロパティを用います。


```js
const context = canvas.getContext("2d", { colorSpace: "display-p3" });
context.fillStyle = "color(display-p3 0.5 0 0)";
context.fillRect(0, 0, 10, 10);

const p3ImageData = context.getImageData(0, 0, 1, 1);
console.log(p3ImageData.colorSpace); // "display-p3"

const srgbImageData = context.getImageData(0, 0, 1, 1, { colorSpace: "srgb" });
console.log(srgbImageData.colorSpace); // "srgb"
```

仕様書
---

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

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

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

関連情報
----

* `CanvasRenderingContext2D.createImageData()`
* `CanvasRenderingContext2D.getImageData()`
* `canvas.getContext()` における `colorSpace` の設定
* WebGL の色空間の設定:
    + `WebGLRenderingContext.drawingBufferColorSpace`
    + `WebGLRenderingContext.unpackColorSpace`