recursal/MDN huggingface dataset:
SpeechRecognitionAlternative
============================

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

Web Speech API の **`SpeechRecognitionAlternative`** インターフェイスは、音声認識サービスにより認識されている一つの単語を表します。

プロパティ
-----

`SpeechRecognitionAlternative.transcript` 読取専用 

認識された単語の transcript を含む文字列を返します。

`SpeechRecognitionAlternative.confidence` (en-US) 読取専用 

音声認識システムの認識の正しさの信頼度を表す評価を数値で返します。

例
-

このコードは、私たちの Speech color changer の例から抜粋しました。


```js
recognition.onresult = function (event) {
  // The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList object
  // The SpeechRecognitionResultList object contains SpeechRecognitionResult objects.
  // It has a getter so it can be accessed like an array
  // The first [0] returns the SpeechRecognitionResult at position 0.
  // Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results.
  // These also have getters so they can be accessed like arrays.
  // The second [0] returns the SpeechRecognitionAlternative at position 0.
  // We then return the transcript property of the SpeechRecognitionAlternative object
  var color = event.results[0][0].transcript;
  diagnostic.textContent = "Result received: " + color + ".";
  bg.style.backgroundColor = color;
};
```

仕様
--

| Specification |
| --- |
| Web Speech API # speechreco-alternative |

ブラウザーの実装状況
----------

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

### Firefox OS の許可設定

アプリ内で音声認識を使用するには、manifest ファイルに次の許可設定を指定する必要があります:


```json
"permissions": {
  "audio-capture" : {
    "description" : "Audio capture"
  },
  "speech-recognition" : {
    "description" : "Speech recognition"
  }
}
```


特権アプリも必要なため、以下も同様に含める必要があります:


```json
  "type": "privileged"
```

関連項目
----

* Web Speech API
ReadableStreamDefaultReader
===========================

**`ReadableStreamDefaultReader`** はストリーム API のインターフェイスで、ネットワークから提供されたストリームデータ（フェッチリクエストなど）を読み取るために使用できる既定のリーダーを表します。

`ReadableStreamDefaultReader` は、任意の種類の基盤ソースを持つ `ReadableStream` からの読み取りに使用することができます（基盤バイトソースを持つ読み取り可能なストリームにのみ使用することができる `ReadableStreamBYOBReader` とは異なります）。

 ただし、基盤ソースからのゼロコピー移譲は、バッファーを自動割り当てするバイトソースにのみ対応していることに注意してください。
 言い換えれば、ストリームは構築時に、`type="bytes"` と `autoAllocateChunkSize` の両方が指定されたものでなければなりません。他にも基盤ソースがある場合、ストリームは常に内部キューからのデータで読み取りリクエストを満たします。

コンストラクター
--------

`ReadableStreamDefaultReader()`

`ReadableStreamDefaultReader` オブジェクトのインスタンスを作成して返します。

インスタンスプロパティ
-----------

`ReadableStreamDefaultReader.closed` 読取専用 

ストリーミングプロセスの終了に応答するコードを記述できます。 ストリームが閉じられた場合、またはリーダーのロックが解除された場合に履行されるプロミスを返します。 ストリームがエラーの場合は拒否されます。

インスタンスメソッド
----------

`ReadableStreamDefaultReader.cancel()`

ストリームをキャンセルし、コンシューマーがストリームに興味を失ったことを通知します。 提供された引数 `reason` は、基盤ソースに与えられ、使用する場合もしない場合もあります。

`ReadableStreamDefaultReader.read()`

ストリームの内部キュー内の次のチャンクへのアクセスを提供するプロミスを返します。

`ReadableStreamDefaultReader.releaseLock()`

ストリームのリーダーのロックを解除します。

例
-

次の例では、別のリソースから取得した HTML の断片をブラウザーにストリーミングするために、人工的な `Response` を作成します。

これは `Uint8Array` と組み合わせた `ReadableStream` の使用方法を示します。


```js
fetch("https://www.example.org/").then((response) => {
  const reader = response.body.getReader();
  const stream = new ReadableStream({
    start(controller) {
      // 次の関数は各データチャンクを処理します
      function push() {
        // done は Boolean で、value は Uint8Array です
        return reader.read().then(({ done, value }) => {
          // 読み取るデータはもうありませんか？
          if (done) {
            // データの送信が完了したことをブラウザーに伝えます
            controller.close();
            return;
          }

          // データを取得し、コントローラー経由でブラウザーに送信します
          controller.enqueue(value);
          push();
        });
      }

      push();
    },
  });

  return new Response(stream, { headers: { "Content-Type": "text/html" } });
});
```

仕様書
---

| Specification |
| --- |
| Streams Standard # default-reader-class |

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

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

関r根情報
-----

* ストリーム API の概念
* 読み取り可能なストリームの使用
* `ReadableStream`
* WHATWG Stream Visualizer, for a basic visualization of readable, writable, and transform streams.
* Web-streams-polyfill or sd-streams - polyfills
ChannelSplitterNode
===================

`ChannelSplitterNode` インターフェイスは、よく反対の `ChannelMergerNode` とともに用いられ、音声入力のそれぞれのチャンネルをモノラル出力の組に分離します。これは、各チャンネルに別々にアクセスするのに便利です。たとえば、各チャンネルのゲインを別々に制御する必要があるチャンネルミキシングを行うのに便利です。

![1 個の入力を 6 個のモノラル出力に分離するデフォルトの ChannelSplitterNode](/ja/docs/Web/API/ChannelSplitterNode/webaudiosplitter.png)

`ChannelSplitterNode` の入力が常に 1 個だけの場合、出力の数はコンストラクターや `AudioContext.createChannelSplitter()` の引数によって決まります。値が指定されなかった場合は、既定の `6` になります。入力のチャンネル数が出力数より少ない場合は、余った出力は無音になります。

EventTarget

AudioNode

ChannelSplitterNode

|  |  |
| --- | --- |
| 入力数 | `1` |
| 出力数 | 可変。既定値は`6` です。 |
| チャンネルカウントモード | `"explicit"` 古い実装では、仕様書の以前のバージョンに従って
 `"max"` が使用されます。
  |
| チャンネル数 | 
 出力数に固定されます。古い実装では、仕様書の以前のバージョンに従って
 `2` が使用されます。(既定のカウントモードでは使用されません)
  |
| チャンネルの意味 | `"discrete"` |

コンストラクター
--------

`ChannelSplitterNode()`

新しい `ChannelSplitterNode` のオブジェクトのインスタンスを作成します。

インスタンスプロパティ
-----------

*専用のプロパティはありません。親の `AudioNode` からプロパティを継承します。*

インスタンスメソッド
----------

*専用のメソッドはありません。親の `AudioNode` からメソッドを継承します。*

例
-

`BaseAudioContext.createChannelSplitter()` にサンプルコードがあります。

仕様書
---

| Specification |
| --- |
| Web Audio API # ChannelSplitterNode |

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

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

関連情報
----

* Web Audio API の使用
SVGRect
=======

**`SVGRect`** は矩形を表します。矩形は、最小の x の値と最小の y の値を特定する x と y の座標の対と、幅と、高さから構成されており、これらは、非負であるものと考えられます。

**`SVGRect`** オブジェクトは、読み取り専用だと指定することができます。そのことは、そのオブジェクトをいじろうとする試みによって、例外が投げられるという結果になるだろう、ということを意味します。

属性
--

`SVGRect.x`

この座標の厳密な結果は、各要素に依存します。もしこの属性が指定済みでなければ、結果は、あたかも `0` という値が指定されているかのようになります。

`SVGRect.y`

この座標の厳密な結果は、各要素に依存します。もしこの属性が指定済みでなければ、結果は、あたかも `0` という値が指定されているかのようになります。

`SVGRect.width`

これは矩形の幅を表します。負の値はエラーを招きます。0 という値は要素の描画を無効にします。

`SVGRect.height`

これは矩形の高さを表します。負の値はエラーを招きます。0 という値は要素の描画を無効にします。

メソッド
----

*このインタフェースは、親から、すなわち* *`SVGGeometryElement` (en-US) から、メソッドを継承しています。*

仕様
--

| Specification |
| --- |
| Geometry Interfaces Module Level 1 # DOMRect |

ブラウザー実装状況
---------

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

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

**`CSSStyleValue`** は CSS 型付きオブジェクトモデル API (Typed OM API) のインターフェイスで、Typed OM API を通してアクセス可能なすべての CSS の値の基本クラスです。このクラスのインスタンスは、文字列が期待される場所であればどこでも使用することができます。

CSSStyleValue を基底とするインターフェイス
----------------------------

`CSSStyleValue` インターフェイスを基底とするインターフェイスの一覧です。

* `CSSImageValue`
* `CSSKeywordValue`
* `CSSNumericValue`
* `CSSPositionValue` (en-US)
* `CSSTransformValue`
* `CSSUnparsedValue`
インスタンスメソッド
----------

`CSSStyleValue.parse()` 
Experimental

特定の CSS プロパティを指定された値に設定し、最初の値を `CSSStyleValue` オブジェクトとして返します。

`CSSStyleValue.parseAll()` 
Experimental

出現したすべての特定の CSS プロパティを指定された値に設定し、それぞれが与えられた値の 1 つを格納した `CSSStyleValue` オブジェクトの配列を返します。

仕様書
---

| Specification |
| --- |
| CSS Typed OM Level 1 # stylevalue-objects |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
資格情報管理 API
==========

資格情報管理 API を使用すると、ウェブサイトがユーザー、連携アカウント、公開鍵の資格情報を保存および取得することができます。これらの機能により、ユーザーはパスワードを入力せずにログインしたり、サイトへのログインに使用した連携アカウントを確認したり、期限切れのセッションに明示的なログインの手続きなしでセッションを再開したりすることができます。

資格情報管理の概念と使用方法
--------------

この API により、ウェブサイトがユーザーエージェントのパスワードシステムと直接対話できるようになるため、ウェブサイトはサイトの資格情報を統一した方法で扱うことができ、ユーザーエージェントは資格情報の管理でより良い支援を提供することができるようになります。例えば、ユーザエージェントは、連合アイデンティティプロバイダーや、ユーザー名とパスワードだけでなく、それ以上のものを使用する難解なログインメカニズムを扱うのに特に苦労しています。

これらの問題に対処するために、資格情報管理 API は、ウェブサイトがさまざまな種類の資格情報を保存したり取得したりする方法を提供しています。これによりユーザーは、サイトにログインするために使用した連携アカウントを確認したり、期限切れのセッションに明示的なログインの手続きなしでセッションを再開したりすることができます。

**メモ:** この API は最上位のコンテキストのみに制限されています。 `get()` や `store()` を `<iframe>` 要素の中で呼び出すと、何もせずに解決します。

### サブドメイン間で共有される資格情報

より新しい版の仕様では、別のサブドメインから資格情報を取得できるようになっています。例えば、 `login.example.com` に保存されているパスワードを使用して `www.example.com` にログインすることができます。これを利用するには、`CredentialsContainer.store()` (en-US) を呼び出してパスワードを明示的に格納する必要があります。これは、公開接尾辞リスト (PSL) 照合と呼ばれることもあるりますが、仕様では、資格情報の有効なスコープを決定するために PSL を使用することを推奨しているだけです。必須ではありません。そのため、ブラウザーによって実装が異なる場合があります。

インターフェイス
--------

`Credential`

信頼の決定の前提条件として、エンティティに関する情報を提供します。

`CredentialsContainer` (en-US)

ログインやログアウトの成功などの興味深いイベントが発生したときに、資格情報を要求し、ユーザーエージェントに通知するメソッドを公開します。このインターフェイスは `navigator.credentials` からアクセスできます。

`FederatedCredential`

ウェブサイトがユーザーを正しく認証するために信頼するエンティティである、連合アイデンティティプロバイダーからの資格情報に関する情報を提供し、また、そのための API を提供します。 OpenID Connect はそのようなフレームワークの一例です。

`PasswordCredential` (en-US)

ユーザー名/パスワードの組に関する情報を提供します。

`PublicKeyCredential`

パスワードの代わりに、フィッシング不可能でデータ侵害に強い非対称キーペアを使用してログインするための資格情報を提供します。

仕様書
---

| Specification |
| --- |
| Credential Management Level 1 # the-credential-interface |

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

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

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

Sensor APIs の **`Accelerometer`** インターフェイスは、デバイスの 3 軸それぞれにかかっている加速度の計測値を提供します。

このセンサーを使用するには、ユーザーが Permissions API により `'accelerometer'` デバイスセンサーの使用を許可することが必要です。

この機能は、サーバーで設定された Permissions Policy によりブロックされる可能性があります。

EventTarget

Sensor

Accelerometerコンストラクター
--------

`Accelerometer()` 
Experimental

新しい `Accelerometer` オブジェクトを生成します。

インスタンスプロパティ
-----------

*以下のプロパティに加え、`Accelerometer` は親インターフェイスの `Sensor` および `EventTarget` からプロパティを継承しています。*

`Accelerometer.x` 読取専用  
Experimental

デバイスの x 軸方向にかかっている加速度を表す `double` 値を返します。

`Accelerometer.y` 読取専用  
Experimental

デバイスの y 軸方向にかかっている加速度を表す `double` 値を返します。

`Accelerometer.z` 読取専用  
Experimental

デバイスの z 軸方向にかかっている加速度を表す `double` 値を返します。

インスタンスメソッド
----------

*`Accelerometer` には独自のメソッドはありません。しかし、親インターフェイスの `Sensor` および `EventTarget` からメソッドを継承しています。*

イベント
----

*`Accelerometer` には独自のイベントはありません。しかし、親インターフェイスの `Sensor` からイベントを継承しています。*

例
-

通常、加速度は `reading` イベントコールバックで取得します。以下の例では、これを 1 秒あたり 60 回行います。


```js
const acl = new Accelerometer({ frequency: 60 });
acl.addEventListener("reading", () => {
  console.log(`X 軸方向の加速度 ${acl.x}`);
  console.log(`Y 軸方向の加速度 ${acl.y}`);
  console.log(`Z 軸方向の加速度 ${acl.z}`);
});

acl.start();
```

仕様書
---

| Specification |
| --- |
| Accelerometer # accelerometer-interface |

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

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

**`IIRFilterNode`** はウェブオーディオ API のインターフェイスで、`AudioNode` プロセッサーであり、一般の **無限インパルス応答** (IIR) フィルターを実装します。この種類のフィルターは、トーンコントロール機器やグラフィックイコライザーを実装するためにも使用することができます。フィルター応答の引数を指定しますので、必要に応じてチューニングすることができます。

EventTarget

AudioNode

IIRFilterNode

|  |  |
| --- | --- |
| 入力数 | `1` |
| 出力数 | `1` |
| チャンネルカウントモード | `"max"` |
| チャンネルカウント | 入力と同じ |
| チャンネル補間 | `"speakers"` |

一般的に、高次フィルターを実装するためには `BiquadFilterNode` (en-US) インターフェイスを使用するのが最適です。それにはいくつかの理由があります：

* バイカッドフィルターは、一般的に数値の変化にあまり敏感ではない。
* バイカッドフィルターのフィルター引数は自動化できる。
* 偶数次 IIR フィルターはすべて `BiquadFilterNode` (en-US) を使用して作成することができる。

しかし、奇数順の IIR フィルターを作成する必要がある場合は、`IIRFilterNode`を使用する必要があります。また、自動化を使用しない場合や、他にもこのインターフェイスが有益であることが分かるかもしれません。

**メモ:** ノードが作成されると、その係数を変更することはできません。

`IIRFilterNode` はテールタイム参照があります。入力がゼロでも静音でない音声を出力し続けます。IIR フィルターとして、ゼロでない入力が永遠に続き、出力が十分にゼロに近づいたとき、これは実際にはある有限の時間の後に制限することができます。実際にかかる時間は、指定されたフィルター係数に依存します。

コンストラクター
--------

`IIRFilterNode()`

IIRFilterNode オブジェクトの新しいインスタンスを作成します。

インスタンスプロパティ
-----------

*このインターフェイスに独自プロパティはありません。プロパティを親である `AudioNode` から継承しています*。

インスタンスメソッド
----------

*メソッドを親である `AudioNode` から継承しています。加えて以下のメソッドもあります。*

`getFrequencyResponse()`

フィルターの現在のパラメーターの設定を用いて、提供された周波数の配列で指定された周波数のレスポンスを計算します。

例
-

単純な IIR フィルターのデモをライブで Codepen で見ることができます。また、GitHub でソースコードも参照してください。様々なローパス周波数に対して様々な係数の値を含めることができます。定数 `filterNumber` の値を 0 から 3 の間の値に変更して、利用できる効果を調べることができます。

また、詳しい説明は、IIR フィルターの使用 (en-US) ガイドをご覧ください。

仕様書
---

| Specification |
| --- |
| Web Audio API # IIRFilterNode |

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

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

関連情報
----

* ウェブオーディオ API の使用
* `AudioNode`
* `BiquadFilterNode` (en-US)
BluetoothUUID
=============

`Web Bluetooth API` の **`BluetoothUUID`** インターフェイスは、Bluetooth SIG が管理しているレジストリーから Universally Unique Identifier (UUID) の値を名前で検索する方法を提供します。

説明
--

 UUID 文字列は、`00001818-0000-1000-8000-00805f9b34fb` などの 128 ビットの UUID です。
 Bluetooth レジストリーには、16 ビットおよび 32 ビットのエイリアスと名前に加え、UUID で識別されるディスクリプター、サービス、キャラクタリスティックのリストも格納されています。

`BluetoothUUID` インターフェイスは、これらの 128 ビットの UUID を取得するメソッドを提供します。

静的メソッド
------

`BluetoothUUID.canonicalUUID()` 
Experimental

16 ビットまたは 32 ビットの UUID エイリアスを受け取り、128 ビットの UUID を返します。

`BluetoothUUID.getCharacteristic()` 
Experimental

名前、もしくは 16 ビットまたは 32 ビットの UUID エイリアスを受け取り、登録されたキャラクタリスティックを表す 128 ビットの UUID を返します。

`BluetoothUUID.getDescriptor()` 
Experimental

名前、もしくは 16 ビットまたは 32 ビットの UUID エイリアスを受け取り、登録されたディスクリプターを表す 128 ビットの UUID を返します。

`BluetoothUUID.getService()` 
Experimental

名前、もしくは 16 ビットまたは 32 ビットの UUID エイリアスを受け取り、登録されたサービスを表す 128 ビットの UUID を返します。

例
-

この例では、`device_information` という名前のサービスを表す UUID が返され、コンソールに出力されます。


```js
let result = BluetoothUUID.getService("device\_information");
console.log(result); // "0000180a-0000-1000-8000-00805f9b34fb"
```

仕様書
---

| Specification |
| --- |
| Web Bluetooth # bluetoothuuid |

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

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

**`CSSUnparsedValue`** は CSS 型付きオブジェクトモデルのインターフェイスで、カスタムプロパティを参照するプロパティ値を表します。これは、文字列の断片と変数の参照のリストから成ります。

カスタムプロパティは `CSSUnparsedValue` と `var()` の参照（これは `CSSVariableReferenceValue` で参照される）で表現されます。

CSSStyleValue

CSSUnparsedValueコンストラクター
--------

`CSSUnparsedValue()`

新しい `CSSUnparsedValue` オブジェクトを生成します。

プロパティ
-----

`CSSUnparsedValue.length`

`CSSUnparsedValue` オブジェクトの項目数を返します。

メソッド
----

`CSSUnparsedValue.entries()`

指定されたオブジェクトの列挙可能なプロパティ `[key, value]` の組の配列を、 `for...in` ループで提供されるのと同じ順序で返します（違いは for-in ループがプロトタイプチェーン上のプロパティも列挙することです）。

`CSSUnparsedValue.forEach()`

指定された関数を、 `CSSUnparsedValue` オブジェクトのそれぞれの要素に対して実行します。

`CSSUnparsedValue.keys()`

`CSSUnparsedValue` オブジェクト内のそれぞれの位置におけるキーを持つ新しい配列イテレーターオブジェクトを返します。

`CSSUnparsedValue.values()`

`CSSUnparsedValue` オブジェクト内のそれぞれの位置における値を持つ新しい配列イテレーターオブジェクトを返します。

仕様書
---

| Specification |
| --- |
| CSS Typed OM Level 1 # cssunparsedvalue |

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

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

関連情報
----

* `CSSImageValue`
* `CSSKeywordValue`
* `CSSNumericValue`
* `CSSPositionValue` (en-US)
* `CSSTransformValue`
* CSS 型付きオブジェクトモデルの使用
* CSS 型付きオブジェクトモデル API
clearTimeout()
==============

グローバルの **`clearTimeout()`** メソッドは、 `setTimeout()` の呼び出しによって以前に確立されたタイムアウトを解除します。

指定された引数で前回確立されたアクションを識別できなかった場合、このメソッドは何も行いません。

構文
--


```js
clearTimeout(timeoutID)
```

### 引数

`timeoutID`

解除したいタイムアウトの識別子です。この ID は対応する `setTimeout()` から返されたものです。

注目すべきは、 `setTimeout()` および `setInterval()` で使用される ID のプールは共有されますので、技術的には `clearTimeout()` および `clearInterval()` は互いに交換できます。しかし、明確化のため、そのようなことは避けてください。

### 返値

なし (`undefined`)。

例
-

ウェブページのコンテキストで以下のスクリプトを実行し、ページを一度クリックしてください。１秒後にメッセージがポップアップします。１秒間に複数回ページをクリックしても、アラートは一度しか表示されません。


```js
const alarm = {
  remind(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === "number") {
      this.cancel();
    }

    this.timeoutID = setTimeout(
      (msg) => {
        this.remind(msg);
      },
      1000,
      "Wake up!",
    );
  },

  cancel() {
    clearTimeout(this.timeoutID);
  },
};
window.addEventListener("click", () => alarm.setup());
```

メモ
--

`clearTimeout()` へ妥当ではない ID を渡しても、何の効果もありません。例外は発生しません。

仕様書
---

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

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

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

関連情報
----

* `setTimeout()`
* `setInterval()`
* `clearInterval()`
* `Window.requestAnimationFrame()`
TransformStreamDefaultController
================================

**TransformStreamDefaultController`** はストリーム API のインターフェイスで、関連する `ReadableStream` と `WritableStream` を操作するメソッドを提供します。

`TransformStream` を作成すると、 `TransformStreamDefaultController` が作成されます。そのため、コンストラクターはありません。 `TransformStreamDefaultController` のインスタンスを取得するには、 `TransformStream()` のコールバックメソッドを使用します。

インスタンスプロパティ
-----------

`TransformStreamDefaultController.desiredSize` 読取専用 

ストリームの内部キューの読み取り可能な側を埋めるために必要なサイズを返します。

インスタンスメソッド
----------

`TransformStreamDefaultController.enqueue()`

ストリームの読み取り可能な側にチャンク（単一のデータ）をキューに入れます。

`TransformStreamDefaultController.error()`

変換ストリームの読み取り可能な側と書き込み可能な側の両方をエラーを発生させます。

`TransformStreamDefaultController.terminate()`

ストリームの読み取り可能な側を閉じ、書き込み可能な側にエラーを発生させます。

例
-

次の例では、変換ストリームは、 `error()` メソッドと `enqueue()` メソッドを使用して、受信したチャンクをすべて `Uint8Array` 値として渡します。


```js
const transformContent = {
  start() {}, // required.
  async transform(chunk, controller) {
    chunk = await chunk;
    switch (typeof chunk) {
      case "object":
        // just say the stream is done I guess
        if (chunk === null) {
          controller.terminate();
        } else if (ArrayBuffer.isView(chunk)) {
          controller.enqueue(
            new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength),
          );
        } else if (
          Array.isArray(chunk) &&
          chunk.every((value) => typeof value === "number")
        ) {
          controller.enqueue(new Uint8Array(chunk));
        } else if (
          typeof chunk.valueOf === "function" &&
          chunk.valueOf() !== chunk
        ) {
          this.transform(chunk.valueOf(), controller); // hack
        } else if ("toJSON" in chunk) {
          this.transform(JSON.stringify(chunk), controller);
        }
        break;
      case "symbol":
        controller.error("Cannot send a symbol as a chunk part");
        break;
      case "undefined":
        controller.error("Cannot send undefined as a chunk part");
        break;
      default:
        controller.enqueue(this.textencoder.encode(String(chunk)));
        break;
    }
  },
  flush() {
    /\* do any destructor work here \*/
  },
};

class AnyToU8Stream extends TransformStream {
  constructor() {
    super({ ...transformContent, textencoder: new TextEncoder() });
  }
}
```

仕様書
---

| Specification |
| --- |
| Streams Standard # ts-default-controller-class |

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

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

**`HTMLHeadingElement`** インターフェイスは、 `<h1>` から `<h6>` まで様々な見出し要素を表します。 `HTMLElement` インターフェイスからメソッドとプロパティを継承しています。

EventTarget

Node

Element

HTMLElement

HTMLHeadingElementインスタンスプロパティ
-----------

*親である `HTMLElement` から継承したプロパティもあります。*

`HTMLHeadingElement.align` 
非推奨

文字列で、列挙型の属性で周囲のコンテキストに対する見出しの配置を示します。指定可能な値は `"left"`, `"right"`, `"justify"`, `"center"` です。

インスタンスメソッド
----------

*独自のメソッドはありません。親である `HTMLElement` からメソッドを継承しています。*

仕様書
---

| Specification |
| --- |
| HTML Standard # htmlheadingelement |

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

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

関連情報
----

* このインターフェイスを実装している HTML 要素: h1, h2, h3, h4, h5, h6
CSSNamespaceRule
================

**`CSSNamespaceRule`** インターフェイスは単一の CSS `@namespace` アットルールを記述します。

CSSRule

CSSNamespaceRuleプロパティ
-----

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

`CSSNamespaceRule.namespaceURI`

指定された名前空間の URI のテキストを含む文字列を返します。

`CSSNamespaceRule.prefix`

この名前空間に関連付けられた接頭辞の名前を文字列で返します。そのような接頭辞がない場合は、空文字列を返します。

メソッド
----

*祖先である `CSSRule` からメソッドを継承しています。*

例
-

このスタイルシートは、唯一のルールとして名前空間を記載しています。したがって、最初に返される `CSSRule` は `CSSNamespaceRule` となります。


```css
@namespace url(http://www.w3.org/1999/xhtml);
```



```js
let myRules = document.styleSheets[0].cssRules;
console.log(myRules[0]); //a CSSNamespaceRule
```

仕様書
---

| Specification |
| --- |
| CSS Object Model (CSSOM) # the-cssnamespacerule-interface |

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

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

**`EventTarget`** インターフェイスは、イベントを受け取ることや、リスナーを持つことができるオブジェクトが実装します。
 言い換えると、イベントのターゲットはすべて、このインターフェイスに関する 3 つのメソッドを実装しています。

`Element` とその子、`Document`、`Window` は、最も一般的なイベントターゲットですが、他のオブジェクトも、例えば `XMLHttpRequest`、`AudioNode`、`AudioContext` などもイベントターゲットになります。

多くのイベントターゲット (要素、文書、ウィンドウを含む) は、イベントハンドラーを設定するのに `onイベント名` プロパティや属性を使用することもできます。

コンストラクター
--------

`EventTarget()`

新しい `EventTarget` オブジェクトのインスタンスを作成します。

インスタンスメソッド
----------

`EventTarget.addEventListener()`

特定のイベント種別のイベントハンドラーを `EventTarget` に登録します。

`EventTarget.removeEventListener()`

`EventTarget` からイベントリスナーを削除します。

`EventTarget.dispatchEvent()`

この `EventTarget` にイベントを送出します。

仕様書
---

| Specification |
| --- |
| DOM Standard # interface-eventtarget |

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

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

関連情報
----

* イベントリファレンス - プラットフォームで利用可能なイベント。
* イベント開発者ガイド
* `Event` インターフェイス
GainNode
========

`GainNode` インターフェイスは、音量の変更を表します。これは `AudioNode` 音声処理モジュールで、入力データが出力に伝搬する前に指定のゲインを適用します。`GainNode` は常にちょうど 1 個の入力と 1 個の出力を持ち、入力と出力のチャンネル数は同じです。

ゲインは単位の無い値で、時間とともに変化し、全入力チャンネルの対応するサンプルに乗算されます。ゲインが変更されると、新しいゲインは即座に適応され、出力の音声に不快な「クリック」が発生します。これを回避するためには、値を直接変更せず、`AudioParam` インターフェイスの指数関数的に変化させるメソッドを用いるといいです。

![GainNode が出力のゲインを上げています。](/ja/docs/Web/API/GainNode/webaudiogainnode.png)

EventTarget

AudioNode

GainNode

|  |  |
| --- | --- |
| 入力数 | `1` |
| 出力数 | `1` |
| チャンネルカウントモード | `"max"` |
| チャンネル数 | `2` (既定のカウントモードでは未使用) |
| チャンネルの意味 | `"speakers"` |

コンストラクター
--------

`GainNode()`

新しい `GainNode` オブジェクトを作成して返します。別の方法として、`BaseAudioContext.createGain()` ファクトリーメソッドを使うこともできます。AudioNode の生成を参照してください。

インスタンスプロパティ
-----------

*親の `AudioNode` からプロパティを継承します。*

`GainNode.gain` 読取専用 

適用するゲインを表す a-rate の `AudioParam` です。適用するゲインを変更するには、`AudioParam.value` を設定するか、`AudioParam` のメソッドを用いる必要があります。

インスタンスメソッド
----------

*専用のメソッドはありません。親の `AudioNode` からメソッドを継承します。*

例
-

`BaseAudioContext.createGain()` に`AudioContext` を用いて `GainNode` を生成するサンプルコードがあります。

仕様書
---

| Specification |
| --- |
| Web Audio API # GainNode |

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

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

関連情報
----

* Web Audio API の使用