ArrayBuffer
)[15]
ArrayBuffer
が detach されているかどうかを返す公開 API
はありませんが、それを検査している API を呼び出すことで判断できます。
一番手軽そうなのは ArrayBuffer
オブジェクト
の byteLength
メソッドが TypeError
例外を投げるかどうかでしょう。
(取得器を普通の方法で呼び出している限り、 TypeError
を投げるのは detach されているときだけです。)
[4] JavaScript の仕様書内部では、
ArrayBufferData 内部スロットを持つオブジェクトに対する操作として、
IsDetachedBuffer
が定義されています >>3。
ArrayBuffer
や SharedArrayBuffer
が detach されたかどうかを返します。
配列バッファーについて、次のようにします >>3。
[11] ArrayBuffer
/SharedArrayBuffer
に関するほとんどの操作
(JavaScript 仕様書で定義されているものや構造化クローン) から呼び出されます。
detach されている場合には例外が投げられることが多いです。
[9] ArrayBufferData 内部スロットと
ArrayBufferByteLength 内部スロットを持つ
SharedArrayBuffer
でないオブジェクトに対する操作として、
DetachArrayBuffer
が定義されています >>3。
ArrayBuffer
を detach します。
配列バッファーについて、次のようにします >>3。
[14] 構造化クローンや TransferArrayBuffer
から呼び出されます。
[1] IRC logs: freenode / #whatwg / 20140417 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20140417#l-575>