Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Constructeur Int32Array()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
LeconstructeurInt32Array() permet de créer un nouveau tableau typéInt32Array dont les éléments sont des nombres entiers signés en complément à deux, représentés sur 32 bits et utilisant le boutisme de la plateforme. S'il est nécessaire de contrôler l'ordre des octets, on utilisera un objetDataView à la place. Lors de la construction, les éléments du tableau sont initialisés avec la valeur0. Une fois le tableau construit, on peut faire référence aux éléments du tableau à l'aide des méthodes de l'objet ou en utilisant la notation avec les crochets et l'indice voulu.
Dans cet article
Syntaxe
new Int32Array(); // apparu avec ES2017new Int32Array(longueur);new Int32Array(tableauType);new Int32Array(object);new Int32Array(buffer);new Int32Array(buffer, decalageOctets);new Int32Array(buffer, decalageOctets, longueur);Paramètres
longueurLorsque le constructeur est appelé avec un argument
longueur, un tableau interne de tampon de mémoire est créé avec une taille en octets delongueurmultipliée parBYTES_PER_ELEMENTet dont les éléments sont des zéros.tableauTypeLorsque le constructeur est appelé avec un argument
tableauType, qui peut être un tableau typé de n'importe quel typenonbigint(commeInt16Array),tableauTypeest copié dans un nouveau tableau typé et chaque valeur detableauTypeest convertie dans le type correspondant au constructeur avant d'être copiée dans le nouveau tableau. La longueur du nouveau tableau typé est égale à celle de l'argumenttableauType.objectLorsque le constructeur est appelé avec un argument objet quelconque, un nouveau tableau typé est créé, de la même façon qu'avec un appel à la méthode
TypedArray.from().buffer,decalageOctets,longueurLorsqu'il est appelé avec un argument
buffer, et éventuellement des argumentsdecalageOctetsetlongueur, le constructeur crée une nouvelle vue sous la forme d'un tableau typé qui porte sur l'objetArrayBufferdonné par le paramètrebuffer. Les paramètresdecalageOctetsetlongueurindiquent l'intervalle de mémoire exposé à la vue formée par le tableau typé. Si ces deux derniers paramètres sont absents, c'est l'ensemble debufferqui sera vu ; si seullongueurest absent, c'est toutbufferqui sera vu à partir dedecalageOctets.
Exemples
>Plusieurs façons de créer un objetInt32Array
// À partir d'une longueurconst int32 = new Int32Array(2);int32[0] = 42;console.log(int32[0]); // 42console.log(int32.length); // 2console.log(int32.BYTES_PER_ELEMENT); // 4// À partir d'un tableauconst arr = new Int32Array([21, 31]);console.log(arr[1]); // 31// À partir d'un autre tableau typéconst x = new Int32Array([21, 31]);const y = new Int32Array(x);console.log(y[0]); // 21// À partir d'un ArrayBufferconst buffer = new ArrayBuffer(16);const z = new Int32Array(buffer, 0, 4);// À partir d'un itérableconst iterable = (function* () { yield* [1, 2, 3];})();const int32_from_iterable = new Int32Array(iterable);// Int32Array[1, 2, 3]Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-typedarray-constructors> |
Compatibilité des navigateurs
Notes de compatibilité
À partir d'ECMAScript 2015, le constructeur deInt32Array doit être appelé avec l'opérateurnew. Utiliser le constructeurInt32Array comme une fonction, c'est-à-dire sans le mot-clénew, déclenchera désormais une exceptionTypeError.
const dv = Int32Array([1, 2, 3]);// TypeError: calling a builtin Int32Array constructor// without new is forbiddenconst dv = new Int32Array([1, 2, 3]);