typescript / expert
Snippet
Speicherallokationsfreie TypedArray-Ansichtsmanipulationen via DataView
DataView ermöglicht präzises binäres Lesen und Schreiben über einen bestehenden ArrayBuffer, ohne Zwischenobjekte in JavaScript zu allokieren. Die direkte Steuerung von Byte-Endianness und Offsets ermöglicht eine hochperformante Verarbeitung systemnaher Datenstrukturen.
snippet.ts
typescript
1
2
3
4
5
6
7
function mutateBufferInPlace(buffer: ArrayBuffer, offset: number, value: number): void {const view = new DataView(buffer, offset, 8);const currentHi = view.getUint32(0, true);const currentLo = view.getUint32(4, true);view.setFloat64(0, value, true);}
Erklärung
1
function mutateBufferInPlace(buffer: ArrayBuffer, offset: number, value: number): void {
Definiert eine Funktion, die direkt auf einem rohen ArrayBuffer-Speicherbereich arbeitet.
2
const view = new DataView(buffer, offset, 8);
Erzeugt eine allokationsfreie Ansicht über 8 Bytes am angegebenen Byte-Offset.
3
const currentHi = view.getUint32(0, true);
Liest eine vorzeichenlose 32-Bit-Ganzzahl unter Verwendung der Little-Endian-Byte-Reihenfolge.
4
view.setFloat64(0, value, true);
Überschreibt das 8-Byte-Speichersegment direkt an Ort und Stelle mit einem 64-Bit-Fließkommawert.