TypedArray オブジェクトは背後にある バイナリーデータバッファー の、配列状のビューを表します。TypedArray という名称のグローバルプロパティはなく、また直接的に見える TypedArray コンストラクターもありません。代わりにさまざまなグローバルプロパティがいくつかあり、それらの値は後述するように特定の要素タイプの Typed Array コンストラクターになります。それぞれのページで、各種の要素を持つ Typed Array で使用できる共通的なプロパティやメソッドを確認できます。
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
構文
new TypedArray(); // new in ES2017 new TypedArray(length); new TypedArray(typedArray); new TypedArray(object); new TypedArray(buffer [, byteOffset [, length]]); where TypedArray() is one of: Int8Array(); Uint8Array(); Uint8ClampedArray(); Int16Array(); Uint16Array(); Int32Array(); Uint32Array(); Float32Array(); Float64Array();
引数
- length
- 引数
lengthを付加して呼び出すと、length に BYTES_PER_ELEMENT を掛けた値 のバイト数の、値 0 を持つ内部配列バッファーをメモリー内に生成します。 - typedArray
- 任意の Typed Array 型 (
Int32Arrayなど) のオブジェクトを示す引数typedArrayを付加して呼び出すと、typedArrayを新たな Typed Array にコピーします。typedArray内の各値は、新しい配列へコピーされる前に対応する型へ変換されます。新しい typedArray オブジェクトの length は、引数typedArrayの length と同じです。 - object
- 引数
objectを付加して呼び出すと、TypedArray.from()メソッドを使用したかのように新たな Typed Array を生成します。 - buffer, byteOffset, length
- 引数
buffer、byteOffset(省略可)、length(省略可) を付加して呼び出すと、指定したArrayBufferのビューになる新たな Typed Array を生成します。引数byteOffsetおよびlengthは、Typed Array ビューで公開するメモリー範囲を指定します。両方とも省略すると、bufferのすべてを公開します。lengthのみ省略すると、bufferの残りの部分を公開します。
説明
ECMAScript 2015 では TypedArray コンストラクターを、すべての TypedArray コンストラクターの [[Prototype]] と定義しています。このコンストラクターは直接公開されてはいません。グローバルな %TypedArray% または TypedArray プロパティは存在しません。Object.getPrototypeOf(Int8Array) などの形式でのみ直接アクセスできます。すべての TypedArray 系コンストラクターは、共通的なプロパティを %TypedArray% コンストラクター関数から継承します。またすべての Typed Array プロトタイプ (TypedArray.prototype) は、自身の [[Prototype]] として %TypedArray%.prototype を持ちます。
%TypedArray% コンストラクター自体は、特に役立つものではありません。サブクラス化をサポートする JS エンジンでオブジェクトを生成する際に使用する場合を除き、コンストラクターを呼び出すか new 構文を使用すると TypeError が発生します。現在はそのようなエンジンがありませんので、%TypedArray% はすべての TypedArray コンストラクターへのポリフィル関数およびプロパティとしてのみ有用です。
TypedArray のインスタンス (すなわち、Int8Array などのインスタンス) を生成するとき、配列バッファーはメモリーの内部に生成されます (コンストラクターの引数として ArrayBuffer オブジェクトが提供されて、配列バッファーによって使用される場合)。また、このバッファーのアドレスはインスタンスの内部プロパティとして保存され、%TypedArray%.prototype のすべてのメソッドは、値の設定や取得などの操作で配列バッファーのアドレスを使用します。
プロパティへのアクセス
標準的な配列の添え字構文 (括弧を使用する表記) を使用して、配列の要素を参照できます。しかし Typed Array の添え字付きプロパティで値を取得または設定するときは、範囲外の添え字でもプロパティのプロトタイプチェーンを探索しません。添え字付きプロパティは ArrayBuffer を調べるのであり、オブジェクトのプロパティは探索しません。他のオブジェクト同様に、名前付きプロパティは使用できます。
// 標準的な配列構文を使用して設定および取得 var int16 = new Int16Array(2); int16[0] = 42; console.log(int16[0]); // 42 // プロトタイプで添え字付き配列を使用しても探索しない (Fx 25) Int8Array.prototype[20] = 'foo'; (new Int8Array(32))[20]; // 0 // even when out of bound Int8Array.prototype[20] = 'foo'; (new Int8Array(8))[20]; // undefined // or with negative integers Int8Array.prototype[-1] = 'foo'; (new Int8Array(8))[-1]; // undefined // Named properties are allowed, though (Fx 30) Int8Array.prototype.foo = 'bar'; (new Int8Array(32)).foo; // "bar"
TypedArray オブジェクト
| 型 | 値の範囲 | サイズ (バイト数) | 説明 | Web IDL 型 | 同等の C 型 |
Int8Array |
-128 から 127 | 1 | 8 ビット長、2 の補数方式の符号付き整数値 | byte |
int8_t |
Uint8Array |
0 から 255 | 1 | 8 ビット長、符号なし整数値 | octet |
uint8_t |
Uint8ClampedArray |
0 から 255 | 1 | 8 ビット長、符号なし整数値 (切り詰め) | octet |
uint8_t |
Int16Array |
-32768 から 32767 | 2 | 16 ビット長、2 の補数方式の符号付き整数値 | short |
int16_t |
Uint16Array |
0 から 65535 | 2 | 16 ビット長、符号なし整数値 | unsigned short |
uint16_t |
Int32Array |
-2147483648 から 2147483647 | 4 | 32 ビット長、2 の補数方式の符号付き整数値 | long |
int32_t |
Uint32Array |
0 から 4294967295 | 4 | 32 ビット長、符号なし整数値 | unsigned long |
uint32_t |
Float32Array |
1.2x10-38 から 3.4x1038 | 4 | 32 ビット長、IEEE 方式 浮動小数点数 | unrestricted float |
float |
Float64Array |
5.0x10-324 から 1.8x10308 | 8 | 64 ビット長、IEEE 方式 浮動小数点数 | unrestricted double |
double |
プロパティ
TypedArray.BYTES_PER_ELEMENT- さまざまな Typed Array オブジェクトの、要素のサイズを数値で返します。
- TypedArray.length
- 値は 0 になります。
TypedArray.name- コンストラクター名を文字列値で返します。例: "Int8Array"
get TypedArray[@@species]- 派生オブジェクトを生成するために使用するコンストラクター関数です。
TypedArray.prototype- TypedArray オブジェクトのプロトタイプです。
メソッド
TypedArray.from()- 配列状のオブジェクトやイテレート可能なオブジェクトから、新たな Typed Array を生成します。
Array.from()もご覧ください。 TypedArray.of()- 引数に与えた値をもとに、新たな Typed Array を生成します。
Array.of()もご覧ください。
TypedArray プロトタイプ
すべての TypedArray は、TypedArray.prototype から継承します。
プロパティ
TypedArray.prototype.constructor- インスタンスのプロトタイプを作る関数を返します。これは、デフォルトで対応するtyped array type関数です。
TypedArray.prototype.buffer読取専用- typed arrayによって参照される
ArrayBufferを返します。構築時に設定され、読取専用となります。 TypedArray.prototype.byteLength読取専用ArrayBufferの開始位置からのtyped arrayの(バイト単位の)長さを返します。構築時に設定され、読取専用となります。TypedArray.prototype.byteOffset読取専用ArrayBufferの開始位置からのtyped arrayの(バイト単位の)オフセットを返します。構築時に設定され、読取専用となります。TypedArray.prototype.length読取専用- typed array内に保持された要素の数を返します。構築時に設定され、読取専用となります。
メソッド
TypedArray.prototype.copyWithin()- 配列内で一連の配列要素をコピーします。
Array.prototype.copyWithin()も確かめて下さい。 TypedArray.prototype.entries()- 配列内で各インデックスに対して、キー/バリュー ペアを含む新しい
Array Iteratorを返します。Array.prototype.entries()も確かめて下さい。 TypedArray.prototype.every()- 配列内のすべての要素が関数によって提供されたテストに合格するかどうかテストを実行します。
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.forEach()- 配列内の各要素に対する関数を呼び出します。
Array.prototype.forEach()も確かめて下さい。 TypedArray.prototype.includes()- typed arrayがある要素を含むかどうか判断し、それに応じて、
trueかfalseを返します。Array.prototype.includes()も確かめて下さい。 TypedArray.prototype.indexOf()- 指定された値に等しい配列内の要素の最初のインデックスを返します。見つからない場合、-1を返します。
Array.prototype.indexOf()も確かめて下さい。 TypedArray.prototype.join()- すべての配列要素を文字列に結合します。
Array.prototype.join()も確かめて下さい。 TypedArray.prototype.keys()- 配列内の各インデックスに対するキーを含む新しい
Array Iteratorを返します。Array.prototype.keys()も確かめて下さい。 TypedArray.prototype.lastIndexOf()- 指定された値と等しい配列の要素の最後のインデックスを返します。見つからない場合、-1を返します。
Array.prototype.lastIndexOf()を確かめて下さい。 TypedArray.prototype.map()- この配列のすべての要素で与えられた関数を呼び出した結果をもつ新しい配列を生成します。
Array.prototype.map()も確かめて下さい。 TypedArray.prototype.move()未実装TypedArray.prototype.copyWithin()の以前の非標準バージョンTypedArray.prototype.reduce()- アキュムレータに対して関数を適用し、隣り合う二つのtyped arrayの要素(左から右へ)は単一の値になります。
Array.prototype.reduce()も確かめて下さい。 TypedArray.prototype.reduceRight()- アキュムレータに対して関数を適用し、隣り合う二つのtyped arrayの要素(右から左へ)は単一の値になります。
Array.prototype.reduceRight()を確かめて下さい。 TypedArray.prototype.reverse()- 配列要素の順番を反転させます。— 最初の要素は最後になり、最後の要素は最初になります。
Array.prototype.reverse()も確かめて下さい。 TypedArray.prototype.set()- 入力値を指定した配列から読み込み、typed array内に複数の値を格納します。
TypedArray.prototype.slice()- 配列の一部を取り出して新しい配列を返します。
Array.prototype.slice()も確かめて下さい。 TypedArray.prototype.some()- ある配列の少なくとも 1 つの要素が与えられたテスト関数を満たした場合にtrueを返します。
Array.prototype.some()も確かめて下さい。 TypedArray.prototype.sort()- 配列の要素をソートし、その結果を返します。
Array.prototype.sort()も確かめて下さい。 TypedArray.prototype.subarray()- 与えられた開始位置と終了位置の要素インデックスの新しいTypedArrayを返します。
TypedArray.prototype.values()- 配列内で各インデックスに対する値を含む新しい
Array Iteratorオブジェクトを返します。Array.prototype.values()を確かめて下さい。 TypedArray.prototype.toLocaleString()- 配列と要素を表すローカライズされた文字列を返します。
Array.prototype.toLocaleString()も確かめて下さい。 TypedArray.prototype.toString()- 配列と要素を表す文字列を返します。
Array.prototype.toString()も確かめて下さい。 TypedArray.prototype[@@iterator]()- 配列内で各インデックスに対する値を含む新しい
Array Iteratorオブジェクトを返します。
メソッドのポリフィル
Typed Array の多くのメソッドは、通常の JavaScript 配列で提供されているメソッドでポリフィルできます。次の JavaScript スニペットは、Typed Array にかけているいくつかのメソッドのポリフィルの仕方のデモです。
var typedArrayTypes = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array,Uint16Array, Int32Array, Uint32Array, Float32Array,Float64Array]; for (var k in typedArrayTypes) for (var v in Array.prototype) if (Array.prototype.hasOwnProperty(v) && !typedArrayTypes[k].prototype.hasOwnProperty(v)) typedArrayTypes[k].prototype[v] = Array.prototype[v];
仕様
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| Typed Array Specification | 廃止された | Typed Array のビューを TypedArray および ArrayBufferView として定義。ECMAScript 2015 で置き換えられました。 |
| ECMAScript 2015 (6th Edition, ECMA-262) TypedArray Objects の定義 |
標準 | ECMA 標準では最初の定義。添え字付きプロパティおよび名前付きプロパティの動作を定義。new を必須とする。 |
| ECMAScript Latest Draft (ECMA-262) TypedArray Objects の定義 |
ドラフト |
ブラウザー実装状況
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TypedArray | Chrome 完全対応 7 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
BYTES_PER_ELEMENT | Chrome 完全対応 7 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
buffer | Chrome 完全対応 7 | Edge 完全対応 14 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
byteLength | Chrome 完全対応 7 | Edge 完全対応 14 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
byteOffset | Chrome 完全対応 7 | Edge 完全対応 14 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
| Constructor without arguments | Chrome 完全対応 7 | Edge 完全対応 12 | Firefox 完全対応 55 | IE 完全対応 10 | Opera 完全対応 あり | Safari 完全対応 5.1 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 18 | Firefox Android 完全対応 55 | Opera Android 完全対応 あり | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs ? |
copyWithin | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 34 | IE 未対応 なし | Opera 完全対応 36 | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android 完全対応 34 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 完全対応 4.0.0 |
entries | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 36 | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 あり | nodejs 完全対応 0.12 |
every | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 36 | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 あり | nodejs 完全対応 4.0.0 |
fill | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 36 | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 あり | nodejs 完全対応 4.0.0 |
filter | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 38 | IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 完全対応 45 | Firefox Android 完全対応 38 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 あり | nodejs 完全対応 4.0.0 |
find | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 32 | Safari 未対応 なし | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 完全対応 32 | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
findIndex | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 32 | Safari 未対応 なし | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 完全対応 32 | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
forEach | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 38 | IE 未対応 なし | Opera 完全対応 32 | Safari 完全対応 10 | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 38 | Opera Android 完全対応 32 | Safari iOS ? | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
from | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 38 | IE 未対応 なし | Opera 未対応 なし | Safari 完全対応 10 | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android 完全対応 38 | Opera Android 未対応 なし | Safari iOS 完全対応 10 | Samsung Internet Android 未対応 なし | nodejs 完全対応 4.0.0 |
includes | Chrome 完全対応 47 | Edge 完全対応 14 | Firefox 完全対応 43 | IE 未対応 なし | Opera 完全対応 34 | Safari 完全対応 10 | WebView Android 未対応 なし | Chrome Android 完全対応 47 | Firefox Android 完全対応 43 | Opera Android 完全対応 34 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs
完全対応
6.0.0
|
| Indexed properties not consulting prototype | Chrome
完全対応
7
| Edge
完全対応
12
| Firefox 完全対応 25 | IE
完全対応
10
| Opera
完全対応
あり
| Safari
完全対応
5.1
| WebView Android
完全対応
≤37
| Chrome Android
完全対応
18
| Firefox Android 完全対応 25 | Opera Android
完全対応
あり
| Safari iOS
完全対応
5
| Samsung Internet Android
完全対応
1.0
| nodejs
?
|
indexOf | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox
完全対応
37
| IE 未対応 なし | Opera 完全対応 32 | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 完全対応 45 | Firefox Android
完全対応
37
| Opera Android 完全対応 32 | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
| Iterable in constructor | Chrome 完全対応 39 | Edge 完全対応 14 | Firefox 完全対応 52 | IE 未対応 なし | Opera 完全対応 26 | Safari ? | WebView Android 完全対応 39 | Chrome Android 完全対応 39 | Firefox Android 完全対応 52 | Opera Android 完全対応 26 | Safari iOS ? | Samsung Internet Android 完全対応 4.0 | nodejs 完全対応 4.0.0 |
join | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 32 | Safari 未対応 なし | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 完全対応 32 | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
keys | Chrome 完全対応 38 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 25 | Safari 完全対応 10 | WebView Android 完全対応 38 | Chrome Android 完全対応 38 | Firefox Android 完全対応 37 | Opera Android 完全対応 25 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 3.0 | nodejs 完全対応 0.12 |
lastIndexOf | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox
完全対応
37
| IE 未対応 なし | Opera 完全対応 32 | Safari 完全対応 10 | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android
完全対応
37
| Opera Android 完全対応 32 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
length | Chrome 完全対応 7 | Edge 完全対応 14 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
map | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 38 | IE 未対応 なし | Opera 完全対応 32 | Safari 未対応 なし | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 38 | Opera Android 完全対応 32 | Safari iOS 未対応 なし | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
move | Chrome 未対応 なし | Edge 未対応 なし | Firefox
未対応
16 — 34
| IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android
未対応
16 — 34
| Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 未対応 なし |
name | Chrome 完全対応 7 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
| Named properties | Chrome 完全対応 7 | Edge 完全対応 12 | Firefox 完全対応 30 | IE 完全対応 10 | Opera 完全対応 あり | Safari 完全対応 5.1 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 18 | Firefox Android 完全対応 30 | Opera Android 完全対応 あり | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs ? |
TypedArray() without new throws | Chrome 完全対応 7 | Edge 完全対応 14 | Firefox 完全対応 44 | IE 未対応 なし | Opera 完全対応 あり | Safari 完全対応 5.1 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 18 | Firefox Android 完全対応 44 | Opera Android 完全対応 あり | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.12 |
of | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 38 | IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android 完全対応 38 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 完全対応 4.0.0 |
prototype | Chrome 完全対応 7 | Edge 完全対応 12 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 あり |
reduce | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 32 | Safari 完全対応 10 | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 未対応 なし | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
reduceRight | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 32 | Safari 完全対応 10 | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 未対応 なし | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
reverse | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 32 | Safari 完全対応 10 | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 未対応 なし | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
set | Chrome 完全対応 7 | Edge 完全対応 14 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs ? |
slice | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 38 | IE 未対応 なし | Opera 完全対応 32 | Safari ? | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 38 | Opera Android ? | Safari iOS ? | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
some | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 32 | Safari 完全対応 10 | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 37 | Opera Android 未対応 なし | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
sort | Chrome 完全対応 45 | Edge 完全対応 14 | Firefox 完全対応 46 | IE 未対応 なし | Opera 完全対応 32 | Safari ? | WebView Android 完全対応 45 | Chrome Android 完全対応 45 | Firefox Android 完全対応 46 | Opera Android 完全対応 32 | Safari iOS ? | Samsung Internet Android 完全対応 5.0 | nodejs 完全対応 4.0.0 |
subarray | Chrome 完全対応 7 | Edge 完全対応 14 | Firefox 完全対応 4 | IE 完全対応 10 | Opera 完全対応 11.6 | Safari 完全対応 5.1 | WebView Android 完全対応 4 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 12 | Safari iOS 完全対応 4.2 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 0.12 |
toLocaleString | Chrome 完全対応 7 | Edge 完全対応 12 | Firefox 完全対応 51 | IE 完全対応 10 | Opera 完全対応 あり | Safari 完全対応 5.1 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 18 | Firefox Android 完全対応 51 | Opera Android 完全対応 あり | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs ? |
toString | Chrome 完全対応 7 | Edge 完全対応 12 | Firefox 完全対応 51 | IE 完全対応 10 | Opera 完全対応 あり | Safari 完全対応 5.1 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 18 | Firefox Android 完全対応 51 | Opera Android 完全対応 あり | Safari iOS 完全対応 5 | Samsung Internet Android 完全対応 1.0 | nodejs ? |
values | Chrome 完全対応 38 | Edge 完全対応 14 | Firefox 完全対応 37 | IE 未対応 なし | Opera 完全対応 25 | Safari 完全対応 10 | WebView Android 完全対応 38 | Chrome Android 完全対応 38 | Firefox Android 完全対応 37 | Opera Android 完全対応 25 | Safari iOS 完全対応 10 | Samsung Internet Android 完全対応 3.0 | nodejs 完全対応 0.12 |
@@iterator | Chrome 完全対応 38 | Edge 完全対応 12 | Firefox
完全対応
36
| IE 未対応 なし | Opera 完全対応 25 | Safari 完全対応 あり | WebView Android 完全対応 38 | Chrome Android 完全対応 38 | Firefox Android
完全対応
36
| Opera Android 完全対応 25 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 3.0 | nodejs 完全対応 0.12 |
@@species | Chrome 完全対応 51 | Edge 完全対応 13 | Firefox 完全対応 48 | IE 未対応 なし | Opera 完全対応 38 | Safari ? | WebView Android 完全対応 51 | Chrome Android 完全対応 51 | Firefox Android 完全対応 48 | Opera Android 完全対応 41 | Safari iOS ? | Samsung Internet Android 完全対応 5.0 | nodejs
完全対応
6.5.0
|
凡例
- 完全対応
- 完全対応
- 未対応
- 未対応
- 実装状況不明
- 実装状況不明
- 実験的。動作が変更される可能性があります。
- 実験的。動作が変更される可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 実装ノートを参照してください。
- 実装ノートを参照してください。
- ユーザーが明示的にこの機能を有効にしなければなりません。
- ユーザーが明示的にこの機能を有効にしなければなりません。
- 非標準の名前を使用しています。
- 非標準の名前を使用しています。
互換性情報
ECMAScript 2015 より、TypedArray コンストラクターは new 演算子を使用しなければなりません。new を伴わずに TypedArray コンストラクターを関数として呼び出すと、TypeError が発生するようになりました。
var dv = Int8Array([1, 2, 3]); // TypeError: calling a builtin Int8Array constructor // without new is forbidden
var dv = new Int8Array([1, 2, 3]);