description

# toJS property

JSArrayBuffer get toJS

Converts this ByteBuffer to a JSArrayBuffer by either casting, unwrapping, or cloning the ByteBuffer.

Throws if the ByteBuffer is backed by a JS `SharedArrayBuffer`.

Note

Depending on whether code is compiled to JavaScript or Wasm, this conversion will have different semantics.

When compiling to JavaScript, ByteBuffers are either `ArrayBuffer`s or `SharedArrayBuffer`s so this will just check the type and cast, throwing if it's a `SharedArrayBuffer`.

When compiling to Wasm, this ByteBuffer is a wrapper around an `ArrayBuffer` if it was converted via JSArrayBufferToByteBuffer.toDart. If it is a wrapper, this getter unwraps it and either returns the `ArrayBuffer` or throws if the unwrapped buffer was a `SharedArrayBuffer`. If it's instantiated in Dart, this getter clones this ByteBuffer's values into a new JSArrayBuffer.

Avoid assuming that modifications to this ByteBuffer will affect the returned JSArrayBuffer and vice versa on all compilers unless it was first converted via JSArrayBufferToByteBuffer.toDart.

## Implementation

    external JSArrayBuffer get toJS;