MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Message

TypeError: invalid arguments (Firefox)

Type d'erreur

TypeError

Quel est le problème ?

Les constructeurs de tableaux typés ont besoin :

  • d'une longueur,
  • d'un autre tableau typé,
  • d'un objet semblable à un tableau,
  • d'un objet itérable
  • ou d'un objet ArrayBuffer

afin de créer un nouveau tableau typé. Si on utilise un autre argument, on ne pourra pas créer de tableau typé valide.

Exemples

Il est par exemple impossible de construire un tableau typé Uint8Array à partir d'une chaîne de caractères :

var ta = new Uint8Array("nope");
// TypeError: invalid arguments

Voici différentes façons de créer un tableau typué Uint8Array :

// À partir d'une longueur
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

// À partir d'un tableau
var arr = new Uint8Array([21,31]);
console.log(arr[1]); // 31

// À partir d'un autre tableau typé
var x = new Uint8Array([21, 31]);
var y = new Uint8Array(x);
console.log(y[0]); // 21

// À partir d'un ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint8Array(buffer, 1, 4);

// À partir d'un itérable 
var iterable = function*(){ yield* [1,2,3]; }(); 
var uint8 = new Uint8Array(iterable); 
// Uint8Array[1, 2, 3]

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,