この記事は編集レビューを必要としています。ぜひご協力ください。
概要
Int8Array
タイプは、2 の補数形式の 8 ビット符号付き整数値の配列を表します。各要素は0で初期化されます。生成された Int8Array
オブジェクトのメソッドあるいは配列のような表記法 ("[]
") を用いて、要素を参照することができます。
構文
new Int8Array(length); new Int8Array(typedArray); new Int8Array(object); new Int8Array(buffer [, byteOffset [, length]]);
コンストラクタの構文とパラメータについての詳しい情報はTypedArray
を参照して下さい。
プロパティ
Int8Array.BYTES_PER_ELEMENT
- 要素一個あたりのバイト数を返します。
Int8Array
の場合は1
です。 - Int8Array.length
値は3になります
。実際の長さ(要素数)についてはInt8Array.prototype.length
を参照して下さい。Int8Array.name
- コンストラクタ名を文字列値で返します。
Int8Array
の場合、"Int8Array"です
。 Int8Array.prototype
- TypedArray オブジェクトのプロトタイプです。
-
メソッド
Int8Array.from()
- 配列状のオブジェクトやイテレート可能なオブジェクトから、新たな
Int8Array
オブジェクトを生成します。Array.from()
も確かめて下さい。 Int8Array.of()
- 可変長引数で新しい
Int8Array
オブジェクトを生成します。Array.of()
も確かめて下さい。
Int8Array
プロトタイプ
全ての Int8Array
オブジェクトは %TypedArray%.prototype
を継承しています。
プロパティ
Int8Array.prototype.constructor
- インスタンスのプロトタイプを作る関数を返します。これは、デフォルトで対応する
Int8Array
コンストラクタです。 Int8Array.prototype.buffer
読取専用Int8Array
オブジェクトによって参照されるArrayBuffer
を返します。構築時に設定され、読取専用となります。Int8Array.prototype.byteLength
読取専用ArrayBuffer
の開始位置からのInt8Array
オブジェクトの(バイト単位の)長さを返します。構築時に設定され、読取専用となります。Int8Array.prototype.byteOffset
読取専用ArrayBuffer
の開始位置からのInt8Array
オブジェクトの(バイト単位の)オフセットを返します。構築時に設定され、読取専用となります。Int8Array.prototype.length
読取専用Int8Array
オブジェクト内に保持された要素の数を返します。構築時に設定され、読取専用となります。-
メソッド
Int8Array.prototype.copyWithin()
- 配列内で一連の配列要素をコピーします。
Array.prototype.copyWithin()
も確かめて下さい。 Int8Array.prototype.entries()
- 配列内で各インデックスに対して、キー/バリュー ペアを含む新しい
Array Iterator
を返します。Array.prototype.entries()
も確かめて下さい。 Int8Array.prototype.every()
- 配列内のすべての要素が関数によって提供されたテストに合格するかどうかテストを実行します。
Array.prototype.every()
も確かめて下さい。 Int8Array.prototype.fill()
- 開始位置から終了位置までの配列のすべての要素を固定値で設定します。
Array.prototype.fill()
も確かめて下さい。 Int8Array.prototype.filter()
- 与えられたフィルタリング関数がtrueを返す配列のすべての要素をもつ新しい配列を生成します。
Array.prototype.filter()
も確かめて下さい。 Int8Array.prototype.find()
- 配列要素が与えられたテスト関数を満足したら、配列の値を返します。満足しなかった場合、
undefined
を返します。Array.prototype.find()
を確かめて下さい。 Int8Array.prototype.findIndex()
- 配列要素が与えられたテスト関数を満足したら、配列のインデックスを返します。満足しなかった場合、-1を返します。
Array.prototype.findIndex()
も確かめて下さい。 Int8Array.prototype.forEach()
- 配列内の各要素に対する関数を呼び出します。
Array.prototype.forEach()
も確かめて下さい。 Int8Array.prototype.includes()
- typed arrayがある要素を含むかどうか判断し、それに応じて、
true
かfalse
を返します。Array.prototype.includes()
も確かめて下さい。 Int8Array.prototype.indexOf()
- 指定された値に等しい配列内の要素の最初のインデックスを返します。見つからない場合、-1を返します。
Array.prototype.indexOf()
も確かめて下さい。 Int8Array.prototype.join()
- すべての配列要素を文字列に結合します。
Array.prototype.join()
も確かめて下さい。 Int8Array.prototype.keys()
- 配列内の各インデックスに対するキーを含む新しい
Array Iterator
を返します。Array.prototype.keys()
も確かめて下さい。 Int8Array.prototype.lastIndexOf()
- 指定された値と等しい配列の要素の最後のインデックスを返します。見つからない場合、-1を返します。
Array.prototype.lastIndexOf()
を確かめて下さい。 Int8Array.prototype.map()
- この配列のすべての要素で与えられた関数を呼び出した結果をもつ新しい配列を生成します。
Array.prototype.map()
も確かめて下さい。 Int8Array.prototype.move()
未実装TypedArray.prototype.copyWithin()
の以前の非標準バージョンInt8Array.prototype.reduce()
- アキュムレータに対して関数を適用し、隣り合う二つのtyped arrayの要素(左から右へ)は単一の値になります。
Array.prototype.reduce()
も確かめて下さい。 Int8Array.prototype.reduceRight()
- アキュムレータに対して関数を適用し、隣り合う二つのtyped arrayの要素(右から左へ)は単一の値になります。
Array.prototype.reduceRight()
を確かめて下さい。 Int8Array.prototype.reverse()
- 配列要素の順番を反転させます。— 最初の要素は最後になり、最後の要素は最初になります。
Array.prototype.reverse()
も確かめて下さい。 Int8Array.prototype.set()
- 入力値を指定した配列から読み込み、typed array内に複数の値を格納します。
Int8Array.prototype.slice()
- 配列の一部を取り出して新しい配列を返します。
Array.prototype.slice()
も確かめて下さい。 Int8Array.prototype.some()
- ある配列の少なくとも 1 つの要素が与えられたテスト関数を満たした場合にtrueを返します。
Array.prototype.some()
も確かめて下さい。 Int8Array.prototype.sort()
- 配列の要素をソートし、その結果を返します。
Array.prototype.sort()
も確かめて下さい。 Int8Array.prototype.subarray()
- 与えられた開始位置と終了位置の要素インデックスの新しい
Int8Array
オブジェクトを返します。 Int8Array.prototype.values()
- 配列内で各インデックスに対する値を含む新しい
Array Iterator
オブジェクトを返します。Array.prototype.values()
を確かめて下さい。 Int8Array.prototype.toLocaleString()
- 配列と要素を表すローカライズされた文字列を返します。
Array.prototype.toLocaleString()
も確かめて下さい。 Int8Array.prototype.toString()
- 配列と要素を表す文字列を返します。
Array.prototype.toString()
も確かめて下さい。 Int8Array.prototype[@@iterator]()
- 配列内で各インデックスに対する値を含む新しい
Array Iterator
オブジェクトを返します。
例
// 要素数を指定 var uint8 = new Int8Array(2); int8[0] = 42; console.log(int8[0]); // 42 console.log(int8.length); // 2 console.log(int8.BYTES_PER_ELEMENT); // 1 // Arrayを指定 var arr = new Int8Array([21,31]); console.log(arr[1]); // 31 // 他のTypedArrayを指定 var x = new Int8Array([21, 31]); var y = new Int8Array(x); console.log(y[0]); // 21 // ArrayBufferを指定 var buffer = new ArrayBuffer(8); var z = new Int8Array(buffer, 1, 4);
仕様
仕様書 | 策定状況 | コメント |
---|---|---|
Typed Array Specification | Obsolete | ECMAScript 6 で置き換えられました。 |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'TypedArray constructors' in that specification. |
Standard | ECMA 標準では最初の定義。new 演算子が必要なことが仕様書に含まれました。 |
ECMAScript 2016 Draft (7th Edition, ECMA-262) The definition of 'TypedArray constructors' in that specification. |
ドラフト |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | 7.0 | 4.0 (2) | 10 | 11.6 | 5.1 |
new が必要 |
? | 44 (44) | ? | ? | ? |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 4.0 | (有) | 4.0 (2) | 10 | 11.6 | 4.2 |
new が必要 |
? | ? | 44.0 (44) | ? | ? | ? |
互換性について
ECMAScript 2015 (ES6)から、Int8Array
コンストラクタでインスタンスを生成する場合、 new
演算子が必要となります。 Int8Array
を new 演算子を使用せずに関数呼び出しした場合、
TypeError
例外が投げられるでしょう。
var dv = Int8Array([1, 2, 3]); // TypeError: calling a builtin Int8Array constructor // without new is forbidden
var dv = new Int8Array([1, 2, 3]);