このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
Int32Array() コンストラクター
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
Int32Array() は型付き配列のコンストラクターで、プラットフォームのバイト順による 2 の補数形式の 32 ビット符号付き整数値の配列を生成します。バイト順の制御が必要な場合は、代わりにDataView を使用してください。中身は0 で初期化されます。生成されると、配列の中の要素はオブジェクトのメソッドを使用するか、配列の標準的な添字の構文を使用するか (すなわち、ブラケット構文を使用するか) して参照することができます。
In this article
構文
new Int32Array(); // new in ES2017new Int32Array(length);new Int32Array(typedArray);new Int32Array(object);new Int32Array(buffer [, byteOffset [, length]]);
引数
lengthlength引数付きで呼び出されると、メモリ内に内部的な配列バッファーを作成し、大きさはlengthをBYTES_PER_ELEMENTで乗じたバイト数になり、ゼロになることもあります。typedArraytypedArray引数付きで呼び出されると、これはあらゆる型付き配列型 (例えばInt32Array) にすることができますが、typedArrayを新しい型付き配列にコピーします。typedArrayの中のそれぞれの値は、新しい配列にコピーされる前にコンストラクターの対応する型に変換されます。新しい型付き配列の長さはtypedArray引数の長さと同じになります。objectobject引数付きで呼び出されると、あたかもTypedArray.from()メソッドであるかのように新しい型付き配列が生成されます。buffer,byteOffset,lengthbufferと、オプションでbyteOffsetとlength引数を指定して呼び出されると、指定されたArrayBufferを表示する型付き配列ビューが生成されます。byteOffsetおよびlength引数は、型付き配列ビューが表示するメモリ範囲を指定する。 両方を省略した場合はbufferの全てを表示し、lengthのみを省略した場合はbufferの残りを表示します。
例
>様々な方法による Int32Array の生成
// From a lengthvar int32 = new Int32Array(2);int32[0] = 42;console.log(int32[0]); // 42console.log(int32.length); // 2console.log(int32.BYTES_PER_ELEMENT); // 4// From an arrayvar arr = new Int32Array([21, 31]);console.log(arr[1]); // 31// From another TypedArrayvar x = new Int32Array([21, 31]);var y = new Int32Array(x);console.log(y[0]); // 21// From an ArrayBuffervar buffer = new ArrayBuffer(16);var z = new Int32Array(buffer, 0, 4);// From an iterablevar iterable = (function* () { yield* [1, 2, 3];})();var int32 = new Int32Array(iterable);// Int32Array[1, 2, 3]仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-typedarray-constructors> |
ブラウザーの互換性
互換性メモ
ECMAScript 2015 から、Int32Array コンストラクターは構築にnew 演算子が必要になりました。Int32Array コンストラクターをnew なしで関数として呼び出すと、TypeError が発生するようになりました。
var dv = Int32Array([1, 2, 3]);// TypeError: calling a builtin Int32Array constructor// without new is forbiddenvar dv = new Int32Array([1, 2, 3]);