Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
TypedArray オブジェクトは、背後にあるバイナリーデータバッファーの、配列風のビューを表します。 TypedArray という名称のグローバルプロパティがあるわけではなく、また直接 TypedArray コンストラクターが見えるわけではありません。代わりに、さまざまなグローバルプロパティがあり、それらの値は後述するように特定の要素の型における型付き配列のコンストラクターになります。下記のページで、それぞれの要素を持つ片引き配列で使用できる共通のプロパティやメソッドを確認できます。
TypedArray コンストラクター(よく %TypedArray% と表記されます。JavaScript プログラムに公開されるグローバルに対応するものがあるわけではないため、「個別のもの」を表すためです)は、すべての TypedArray のサブクラスの共通のスーパークラスとして機能します。%TypedArray% はすべての型付き配列のサブクラスに対してユーティリティメソッドの共通インターフェイスを提供する「抽象クラス」であると考えてください。このコンストラクターは直接公開されていません。グローバルプロパティである TypedArray プロパティは存在しません。Object.getPrototypeOf(Int8Array) などを通してのみアクセスすることができます。
TypedArray のサブクラス(例えば Int8Array)のインスタンスを作成する際、配列バッファーがメモリーに内部作成されるか、コンストラクターの引数に ArrayBuffer オブジェクトが指定されると、代わりにその ArrayBuffer を使用します。バッファーアドレスはインスタンスの内部プロパティとして保存され、%TypedArray%.prototype のすべてのメソッドがその配列バッファーアドレスに基づいて値を設定したり取得したりします。
| Int8Array | -128 から 127 | 1 | byte |
| Uint8Array | 0 から 255 | 1 | octet |
| Uint8ClampedArray | 0 から 255 | 1 | octet |
| Int16Array | -32768 から 32767 | 2 | short |
| Uint16Array | 0 から 65535 | 2 | unsigned short |
| Int32Array | -2147483648 から 2147483647 | 4 | long |
| Uint32Array | 0 から 4294967295 | 4 | unsigned long |
| Float16Array | -65504 から 65504 | 2 | なし |
| Float32Array | -3.4E38 から 3.4E38 および 1.2E-38 (最小の正の数) | 4 | unrestricted float |
| Float64Array | -1.8E308 から 1.8E308 および 5E-324 (最小の正の数) | 8 | unrestricted double |
| BigInt64Array | -263 to 263 - 1 | 8 | bigint |
| BigUint64Array | 0 to 264 - 1 | 8 | bigint |
すべての型付き配列は ArrayBuffer を操作して、各要素の正確なバイト表現を見ることができますので、数値がバイナリー形式でどのようにエンコードされているかが重要です。
Int8Array、Uint8Array、Uint8ClampedArray を除くすべての型付き配列は、各要素を複数のバイトを使用して格納します。これらのバイトは、最上位から最下位(ビッグエンディアン)、または最下位から最上位(リトルエンディアン)の順に並べられます。詳しい説明はエンディアンを参照してください。型付き配列は常にプラットフォームネイティブのバイト順を使用します。バッファーから読み書きする際にエンディアンを指定したい場合は、代わりに DataView を使用してください。
これらの型付き配列に書き込む場合、表現可能な範囲外の値は正規化されます。
サイズ変更可能なバッファーのビューとして TypedArray を作成した場合、TypedArray が長さを追跡するよう構築されているかどうかにより、基盤のバッファーをサイズ変更した際に TypedArray のサイズに様々な影響を与えます。
3つ目の引数を除外したり、undefined を渡したりして、固有のサイズを持たない型付き配列を作成した場合、型付き配列は 長さ追跡 となり、後者のサイズが変更されると、基盤となる buffer に合わせて自動的にサイズ変更されます。
型付き配列を 3 つ目の length 引数で具体的なサイズを指定して作成した場合、後者が大きくなっても buffer を格納するためにサイズを変更することはありません。
buffer が縮小されるとき、見ている型付き配列が境界を越えることがあり、その場合、型付き配列の監視サイズは 0 に減少します。これは、長さ追跡を行わない型付き配列の長さが変化する唯一のケースです。
その後、 buffer を再び大きくして型付き配列を元に戻せば、型付き配列のサイズは元の値に戻ります。
長さ追跡型の型付き配列でも、バッファーが byteOffset を超えて縮小された場合、同じことが起こり得る.
このオブジェクトは直接インスタンス化できません。new で構築しようとすると TypeError が発生します。
その代わり、Int8Array や BigInt64Array のような特定の種類の型付き配列のインスタンスを作成してください。これらのオブジェクトは、すべてコンストラクターに共通の構文を持っています。
ここで TypedArray は特定の型のコンストラクターのうちの一つを表します。
TypedArray のサブクラスのインスタンスを指定して呼び出されると、typedArray が新しい型付き配列にコピーされます。長整数以外の TypedArray コンストラクターでは、typedArray 引数には長整数以外の型付き配列のうちのいずれか(Int32Array など)を指定します。同様に、長整数の TypedArray コンストラクター(BigInt64Array または BigUint64Array)では、typedArray 引数には長整数型のいずれかしか指定できません。typedArray の各値は、新しい配列にコピーされる前にコンストラクターの対応する型に変換される。新しい型付き配列の長さは typedArray の引数の長さと同じになります。
objectTypedArray インスタンスでないオブジェクトで呼び出された場合、TypedArray.from() メソッドと同じ方法で、新しい型付き配列を生成します。
length 省略可オブジェクト以外で呼び出された場合、引数は型付き配列の長さを指定する数値として扱われます。内部配列バッファーがメモリー内に作成され、サイズは length に BYTES_PER_ELEMENT バイトを乗じたものとなり、0 で満たされます。すべての引数を除外すると、0 を length として使用することと同じになります。
buffer, byteOffset 省略可, length 省略可ArrayBuffer または SharedArrayBuffer インスタンスを指定し、さらに byteOffset および length 引数を付けて呼び出すと、指定したバッファーを参照する型付き配列ビューを新たに作成することができます。byteOffset (バイト単位)と length (要素数で、それぞれが BYTES_PER_ELEMENT バイトを占めます)の引数は、型付き配列ビューが参照するメモリー範囲を指定します。両方とも省略した場合、buffer の全体が参照されます。length のみが省略された場合、buffer の byteOffset 以降の部分が表示されます。length が省略された場合、型付き配列は長さ追跡となります。
すべての TypeArray サブクラスのコンストラクターは、同じように操作します。すべてで以下のような例外を発生することがあります。
TypeError以下のいずれかの場合に発生します。
以下のいずれかの場合に発生します。
これらのプロパティは TypedArray コンストラクターオブジェクトで定義されており、したがってすべての TypedArray サブクラスのコンストラクターで共有されます。
TypedArray[Symbol.species]派生オブジェクトを作成するために使用されるコンストラクター関数です。
すべての TypedArray サブクラスには以下の静的プロパティもあります。
TypedArray.BYTES_PER_ELEMENTさまざまな TypedArray インスタンスの要素のサイズを数値で返します。
これらのメソッドは TypedArray コンストラクターオブジェクトに定義されているため、すべての TypedArray のサブクラスのコンストラクターに共有されます。
TypedArray.from()配列風オブジェクトや反復可能オブジェクトから、新たな TypedArray を生成します。Array.from() もご覧ください。
TypedArray.of()引数に与えた値をもとに、新たな TypedArray を生成します。Array.of() もご覧ください。
これらのプロパティは TypedArray.prototype オブジェクトで定義されており、すべての TypedArray のサブクラスインスタンスで共有されています。
TypedArray.prototype.bufferこの型付き配列によって参照さている ArrayBuffer を返します。
TypedArray.prototype.byteLength型付き配列の長さを (バイト単位で) 返します。
TypedArray.prototype.byteOffset型付き配列の ArrayBuffer の先頭からのオフセットを (バイト単位で) 返します。
TypedArray.prototype.constructorインスタンスオブジェクトを作成したコンストラクター関数です。TypedArray.prototype.constructor は隠された TypedArray のコンストラクター関数ですが、型付き配列のサブクラスはそれぞれ constructor プロパティを定義しています。
TypedArray.prototype.length型付き配列内に保持された要素の数を返します。
TypedArray.prototype[Symbol.toStringTag]TypedArray.prototype[Symbol.toStringTag] プロパティの初期値はゲッターで、型付き配列ののコンストラクター名と同じ文字列を返します。このプロパティは this の値が型付き配列のサブクラスのいずれでもない場合、 undefined を返します。このプロパティは Object.prototype.toString() で使用されます。ただし、TypedArray は独自の toString() メソッドを持っているので、このプロパティはObject.prototype.toString.call()を thisArg に型付き配列を設定して呼び出差ない限り、このプロパティの使用されません。
すべての TypedArray のサブクラスには、以下のインスタンスプロパティもあります。
TypedArray.prototype.BYTES_PER_ELEMENT様々な TypedArray インスタンスの要素の大きさを数値で返します。
これらのメソッドは TypedArray プロトタイプオブジェクトに定義されているため、すべての TypedArray サブクラスインスタンスで共有されます。
TypedArray.prototype.at()整数値を受け取り、その位置にあるアイテムを返します。このメソッドでは負の整数を扱うことができ、最後の項目から逆向きに数えます。
TypedArray.prototype.copyWithin()配列内で一連の配列要素をコピーします。 Array.prototype.copyWithin() も参照してください。
TypedArray.prototype.entries()配列内のすべての位置に対するキー/値の組を含む、新しい配列イテレーターを返します。 Array.prototype.entries() も参照してください。
TypedArray.prototype.every()配列内の要素のうち、指定されたテスト関数を満たさない要素が 1 つでも見つかった場合に false を返します。それ以外の場合は true を返します。Array.prototype.every() も参照してください。
TypedArray.prototype.fill()開始位置から終了位置までのすべての要素に固定値を設定します。 Array.prototype.fill() も参照してください。
TypedArray.prototype.filter()与えられたフィルタリング関数が true を返す配列のすべての要素をもつ新しい配列を生成します。 Array.prototype.filter() も参照してください。
TypedArray.prototype.find()配列要素が与えられたテスト関数を満足したら、配列の値を返します。満足しなかった場合、 undefined を返します。 Array.prototype.find() も参照してください。
TypedArray.prototype.findIndex()配列要素が与えられたテスト関数を満足したら、配列のインデックスを返します。満足しなかった場合は -1 を返します。Array.prototype.findIndex() も参照してください。
TypedArray.prototype.findLast()指定されたテスト関数を満たす配列の最後の要素の値を返し、適切な要素が得られなかった場合は undefined を返します。Array.prototype.findLast() も参照してください。
TypedArray.prototype.findLastIndex()指定されたテスト関数を満たす配列の最後の要素のインデックスを返し、適切な要素が見つからなかった場合は -1 を返します。Array.prototype.findLastIndex() も参照してください。
TypedArray.prototype.forEach()配列内の各要素に対する関数を呼び出します。 Array.prototype.forEach() も参照してください。
TypedArray.prototype.includes()型付き配列にある要素が含まれているかどうか判断し、それに応じて true または false を返します。 Array.prototype.includes() も参照してください。
TypedArray.prototype.indexOf()指定された値に等しい配列内の要素の最初の位置を返します。見つからなかった場合は -1 を返します。 Array.prototype.indexOf() も参照してください。
TypedArray.prototype.join()すべての配列要素を 1 つの文字列に結合します。 Array.prototype.join() も参照してください。
TypedArray.prototype.keys()配列内のそれぞれの位置に対するキーを含む新しい配列イテレーターを返します。 Array.prototype.keys() も参照してください。
TypedArray.prototype.lastIndexOf()指定された値と等しい配列の要素の最後の位置を返します。見つからない場合は -1 を返します。Array.prototype.lastIndexOf()を確かめて下さい。
TypedArray.prototype.map()この配列のすべての要素で与えられた関数を呼び出した結果をもつ新しい配列を生成します。Array.prototype.map() も参照してください。
TypedArray.prototype.reduce()アキュームレーターと配列のそれぞれの値(左から右へ)に対して関数を適用し、単一の値にまで縮小します。 Array.prototype.reduce() も参照してください。
TypedArray.prototype.reduceRight()アキュームレーターと配列のそれぞれの値(右から左へ)に対して関数を適用し、単一の値にまで縮小します。 Array.prototype.reduce() も参照してください。
TypedArray.prototype.reverse()配列要素の順番を反転させます。 — 最初の要素は最後になり、最後の要素は最初になります。 Array.prototype.reverse() も参照してください。
TypedArray.prototype.set()入力値を指定した配列から読み込み、型付き配列内に複数の値を格納します。
TypedArray.prototype.slice()配列の一部を取り出して新しい配列を返します。 Array.prototype.slice() も参照してください。
TypedArray.prototype.some()配列内で指定されたテスト関数を満たす要素を 1 つでも見つけた場合、true を返します。それ以外の場合は false を返します。Array.prototype.some() も参照してください。
TypedArray.prototype.sort()配列の要素をソートし、その結果を返します。 Array.prototype.sort() も参照してください。
TypedArray.prototype.subarray()与えられた開始位置と終了位置の要素インデックスから、新しい TypedArray を返します。
TypedArray.prototype.toLocaleString()配列と要素を表すローカライズされた文字列を返します。 Array.prototype.toLocaleString() も参照してください。
TypedArray.prototype.toReversed()元の配列を変更せずに、要素を逆順に並べた新しい配列を返します。
TypedArray.prototype.toSorted()元の配列を変更せずに、要素を昇順に並べた新しい配列を返します。
TypedArray.prototype.toString()配列と要素を表す文字列を返します。 Array.prototype.toString() も参照してください。
TypedArray.prototype.values()配列内のそれぞれの位置に対する値を含む新しい配列イテレーターオブジェクトを返します。 Array.prototype.values() も参照してください。
TypedArray.prototype.with()指定された位置の要素を指定された値で置き換えた新しい配列を、元の配列に変更を加えることなく返します。
TypedArray.prototype[Symbol.iterator]()配列内でそれぞれの位置に対する値を含む新しい配列イテレーターオブジェクトを返します。
配列内の要素は、標準の配列の添字構文 (すなわち、かぎ括弧を使用する表記) を使用して参照することができます。しかし、型付き配列でインデックス付きプロパティで取得または設定するときは、範囲外のインデックスでもプロパティのプロトタイプチェーンを探索しません。インデックス付きプロパティは ArrayBuffer を調べるのであり、オブジェクトのプロパティは探索しません。他のオブジェクト同様に、名前付きプロパティは使用できます。
空でない TypedArray は凍結することができません。その基盤である ArrayBuffer はそのバッファーの別の TypedArray ビューを通して変更される可能性があるためです。これはオブジェクトが純粋に凍結されることがないことを意味しています。
ArrayBuffer にビューとして TypedArray を構築した場合、byteOffset 引数は要素サイズの境界に配置する必要があります。言い換えれば、オフセットは BYTES_PER_ELEMENT の倍数でなければなりません。
byteOffset 引数と同様に、TypedArray のコンストラクターに渡される ArrayBuffer の byteLength プロパティも、コンストラクターの BYTES_PER_ELEMENT の倍数にする必要があります。
| ECMAScript® 2027 Language Specification # sec-typedarray-objects |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2026年1月22日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.