Transferable ArrayBuffer
ArrayBuffer.prototype.transfer() はバッファの所有権を新しい ArrayBuffer に移転します。元のバッファは切り離され、ゼロコピーでの効率的なデータ受け渡しが可能です。
概要
ArrayBuffer.prototype.transfer() はバッファの所有権を新しい ArrayBuffer に移転します。元のバッファは切り離され、ゼロコピーでの効率的なデータ受け渡しが可能です。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 114 | 114 | 122 | 17.4 | 114 | 17.4 | |
| ビルトインオブジェクト | ||||||
| transfer() は ArrayBuffer インスタンスのメソッドで、このバッファと同じバイト内容を持つ新しい ArrayBuffer を作成し、その後でこのバッファを分離します。 | 114 | 114 | 122 | 17.4 | 114 | 17.4 |
| transferToFixedLength() は ArrayBuffer インスタンスのメソッドで、このバッファと同じバイト内容を持つサイズ変更不可能な新しい ArrayBuffer を作成し、その後でこのバッファを分離します。 | 114 | 114 | 122 | 17.4 | 114 | 17.4 |
基本構文
JAVASCRIPT
const buf = new ArrayBuffer(1024);
const transferred = buf.transfer();
buf.byteLength; // 0 (already detached)
transferred.byteLength; // 1024 ライブデモ
Check transfer support
Inspect whether ArrayBuffer.prototype.transfer exists.
JavaScript
出力
「実行」ボタンを押してください
Transfer a buffer when supported
Move the contents into a new buffer without manual copying.
JavaScript
出力
「実行」ボタンを押してください
Transfer to a fixed size
Use transferToFixedLength when the runtime exposes the helper.
JavaScript
出力
「実行」ボタンを押してください
実務での使いどころ
-
Transferable ArrayBuffer の活用
ArrayBuffer の所有権を移転する仕組み。transfer() でゼロコピーのデータ受け渡しを実現。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。
参考リンク
Powered by web-features