Fehlermeldung
TypeError: invalid arguments (Firefox)
Fehlertyp
Was ist falsch gelaufen?
Der Typed Array Konstruktor erwartet entweder
- eine Länge,
- ein anderes Typed Array,
- Array ähnliche Objete,
- iterierbare Objekte oder
- ein
ArrayBufferObjekt,
um ein neues Typed Array zu erstelltn. Andere Argumente im Konstruktor erstellen kein valides Typed Array.
Beispiele
Typed Arrays, zum Beispiel ein Uint8Array, können nicht von einem String erstellt werden. Tatsächlich können String nicht in typisierten Arrays enthalten sein.
var ta = new Uint8Array("nope");
// TypeError: invalid arguments
Verschiedene Wege um ein valides Uint8Array Objekt zu erstellen:
// From a length
var uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1
// From an array
var arr = new Uint8Array([21,31]);
console.log(arr[1]); // 31
// From another TypedArray
var x = new Uint8Array([21, 31]);
var y = new Uint8Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint8Array(buffer, 1, 4);
// From an iterable
var iterable = function*(){ yield* [1,2,3]; }();
var uint8 = new Uint8Array(iterable);
// Uint8Array[1, 2, 3]