Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2022年6月.
* Some parts of this feature may have varying levels of support.
TransformStream() コンストラクターは、新しい TransformStream オブジェクトを作成します。このオブジェクトは、書き込み可能な端点を表す WritableStream と、読み取り可能な端点を表す ReadableStream の 2 つのストリームを表します。
transformer を表すオブジェクト。指定されなかった場合、ストリームは同一変換ストリームとなり、書き込み可能な端点に書き込まれたすべてのチャンクをそのまま読み取り可能な端点に転送します。
変換オブジェクトは以下のメソッドを持つことができます。各メソッドの、 controller は TransformStreamDefaultController のインスタンスです。
start(controller)TransformStream が構築される際に呼び出されます。通常は TransformStreamDefaultController.enqueue() を使用してチャンクをキューに入れます。
transform(chunk, controller)書き込み可能な端点に書き込まれたチャンクが変換される準備ができたときに呼び出され、変換ストリームの作業をします。書き込み処理の成功や失敗を指示するプロミスを返すことがあります。もし transform() メソッドが与えられなかった場合、ID 変換が使用され、チャンクは変更されずにキューに入れられます。
flush(controller)書き込み可能な端点に書き込まれたチャンクがすべて正常に変換され、書き込み可能な端点が閉じられた後に呼び出されます。
writableStrategy 省略可オプションでストリームのキューイング戦略を定義するオブジェクト。これは 2 つの引数を取ります。
highWaterMark非負の整数。これは、背圧が適用される前に内部キューに格納することができるチャンクの総数を定義します。
size(chunk)引数 chunk を取るメソッド。これは各チャンクに使用するサイズをバイト単位で示します。
readableStrategy 省略可オプションでストリームのキューイング戦略を定義するオブジェクト。 2 つの引数を取ります。
highWaterMark非負の整数。これは、背圧が適用される前に内部キューに格納することができるチャンクの総数を定義します。
size(chunk)引数 chunk を取るメソッド。これは各チャンクに使用するサイズをバイト単位で示します。
メモ: 自分自身で独自の readableStrategy や writableStrategy を定義したり、オブジェクト値に対して ByteLengthQueuingStrategy や CountQueuingStrategy のインスタンスを使用したりすることができます。
次の例は、チャンクごとにテキストを大文字に変換します。この例は Streams—The Definitive Guide から引用したもので、異なる種類のストリームの例が数多く含まれています。
引数 transformer を与えない場合は、書き込み可能な端点に書き込まれたチャンクを変更せずに読み取り可能な辺にすべて転送する同一変換ストリームになります。次の例では、パイプにバッファー機能を追加するために同一変換ストリームを使用しています。
| Streams # ref-for-ts-constructor④ |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年6月24日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.