TypedArray

TypedArray オブジェクトは、背後にあるバイナリーデータバッファーの、配列状のビューを表します。 TypedArray という名称のグローバルプロパティはなく、また直接 TypedArray コンストラクターが見えるわけではありません。代わりに、さまざまなグローバルプロパティがあり、それらの値は後述するように特定の要素の型における型付き配列のコンストラクターになります。下記のページで、それぞれの要素を持つ片引き配列で使用できる共通のプロパティやメソッドを確認できます。

解説

ECMAScript 2015 では TypedArray コンストラクターを、すべての TypedArray コンストラクターの [[Prototype]] として定義しています。このコンストラクターは直接公開されてはいません。グローバルな %TypedArray% または TypedArray プロパティは存在しません。Object.getPrototypeOf(Int8Array) などの形式でのみ直接アクセスできます。すべての TypedArray 系コンストラクターは、共通のプロパティを %TypedArray% コンストラクター関数から継承します。またすべての型付き配列のプロトタイプ (TypedArray.prototype) は、自身の [[Prototype]] として %TypedArray%.prototype を持ちます。

%TypedArray% コンストラクター自体は、特に役立つものではありません。サブクラス化をサポートする JS エンジンでオブジェクトを生成する際に使用する場合を除き、コンストラクターを呼び出すか new 構文を使用すると TypeError が発生します。現在はそのようなエンジンがありませんので、%TypedArray% はすべての TypedArray コンストラクターへのポリフィル関数およびプロパティとしてのみ有用です。

TypedArray のインスタンス (すなわち Int8Array などのインスタンス) を生成するとき、配列バッファーはメモリーの内部に生成されます (コンストラクターの引数として ArrayBuffer オブジェクトが提供されて、配列バッファーによって使用される場合)。また、このバッファーのアドレスはインスタンスの内部プロパティとして保存され、 %TypedArray%.prototype のすべてのメソッドは、値の設定や取得などの操作で配列バッファーのアドレスを使用します。

TypedArray オブジェクト

値の範囲 サイズ (バイト数) 説明 Web IDL 型 同等の C 型
Int8Array -128127 1 8 ビット長、2 の補数方式の符号付き整数値 byte int8_t
Uint8Array 0255 1 8 ビット長、符号なし整数値 octet uint8_t
Uint8ClampedArray 0255 1 8 ビット長、符号なし整数値 (切り詰め) octet uint8_t
Int16Array -3276832767 2 16 ビット長、2 の補数方式の符号付き整数値 short int16_t
Uint16Array 065535 2 16 ビット長、符号なし整数値 unsigned short uint16_t
Int32Array -21474836482147483647 4 32 ビット長、2 の補数方式の符号付き整数値 long int32_t
Uint32Array 04294967295 4 32 ビット長、符号なし整数値 unsigned long uint32_t
Float32Array 1.2×10-383.4×1038 4 32 ビット長 IEEE 方式 浮動小数点数 (有効桁数 7 桁、例えば 1.234567) unrestricted float float
Float64Array 5.0×10-3241.8×10308 8 64 ビット長 IEEE 方式 浮動小数点数 (有効桁数 16 桁、例えば1.23456789012345) unrestricted double double
BigInt64Array -263263-1 8 64 ビット長、2 の補数方式の符号付き整数値 bigint int64_t (signed long long)
BigUint64Array 0264-1 8 64 ビット長、符号なし整数値 bigint uint64_t (unsigned long long)

コンストラクター

このオブジェクトは直接インスタンス化することはできません。その代わりに、特定の方の配列、例えば Int8ArrayBigInt64Array のインスタンスを生成することができます。これらのオブジェクトのコンストラクターの構文はすべて共通です。

new TypedArray();
new TypedArray(length);
new TypedArray(typedArray);
new TypedArray(object);
new TypedArray(buffer [, byteOffset [, length]]);

ここで TypedArray は特定の型のコンストラクターのうちの一つを表します。

引数

length
引数 length を付加して呼び出すと、length に BYTES_PER_ELEMENT を掛けた値 のバイト数の、値 0 を持つ内部配列バッファーをメモリー内に生成します。
typedArray
typedArray 引数で、任意の型付き配列型 (Int32Array など) のオブジェクトを示す引数を渡して呼び出すと、typedArray を新たな型付き配列にコピーします。typedArray 内の各値は、新しい配列へコピーされる前に対応する型へ変換されます。新しい型付き配列オブジェクトの長さは、引数 typedArray の長さと同じです。
object
引数 object を付加して呼び出すと、TypedArray.from() メソッドを使用したかのように新たな型付き配列を生成します。
buffer, byteOffset, length
引数 buffer, byteOffset (省略可), length (省略可) を付加して呼び出すと、指定した ArrayBuffer のビューになる新たな型付き配列を生成します。引数 byteOffset および length は、型付き配列ビューで公開するメモリー範囲を指定します。両方とも省略すると、buffer のすべてを公開します。length のみ省略すると、buffer の残りの部分を公開します。

静的プロパティ

TypedArray.BYTES_PER_ELEMENT
さまざまな TypedArray オブジェクトの要素のサイズを数値で返します。
TypedArray.name
コンストラクター名を文字列値で返します (例: "Int8Array")。
get TypedArray[@@species]
派生オブジェクトを生成するために使用するコンストラクター関数です。
TypedArray.prototype
TypedArray オブジェクトのプロトタイプです。

静的メソッド

TypedArray.from()
配列状のオブジェクトや反復可能なオブジェクトから、新たな TypedArray を生成します。Array.from() もご覧ください。
TypedArray.of()
引数に与えた値をもとに、新たな TypedArray を生成します。Array.of() もご覧ください。

インスタンスプロパティ

TypedArray.prototype.buffer
この型付き配列によって参照さている ArrayBuffer を返します。構築時に設定され、読取専用です。
TypedArray.prototype.byteLength
型付き配列の長さを (バイト単位で) 返します。構築時に設定され、読取専用です。
TypedArray.prototype.byteOffset
型付き配列の ArrayBuffer の先頭からのオフセットを (バイト単位で) 返します。構築時に設定され、読取専用です。
TypedArray.prototype.length
型付き配列内に保持された要素の数を返します。構築時に設定され、読取専用です。

インスタンスメソッド

TypedArray.prototype.copyWithin()
配列内で一連の配列要素をコピーします。 Array.prototype.copyWithin() も参照してください。
TypedArray.prototype.entries()
配列内のすべての位置に対するキー/値の組を含む、新しい配列イテレーターを返します。 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()
型付き配列にある要素が含まれているかどうか判断し、それに応じて 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 を返します。 Array.prototype.some() も参照してください。
TypedArray.prototype.sort()
配列の要素をソートし、その結果を返します。 Array.prototype.sort() も参照してください。
TypedArray.prototype.subarray()
与えられた開始位置と終了位置の要素インデックスから、新しい TypedArray を返します。
TypedArray.prototype.values()
配列内のそれぞれの位置に対する値を含む新しい配列イテレーターオブジェクトを返します。 Array.prototype.values() も参照してください。
TypedArray.prototype.toLocaleString()
配列と要素を表すローカライズされた文字列を返します。 Array.prototype.toLocaleString() も参照してください。
TypedArray.prototype.toString()
配列と要素を表す文字列を返します。 Array.prototype.toString() も参照してください。
TypedArray.prototype[@@iterator]()
配列内でそれぞれの位置に対する値を含む新しい配列イテレーターオブジェクトを返します。

new が必須

ECMAScript 2015 より、 TypedArray コンストラクターは new 演算子を付けて構築する必要があります。 TypedArray コンストラクターを 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]);

プロパティへのアクセス

配列内の要素は、標準の配列の添字構文 (すなわち、かぎ括弧を使用する表記) を使用して参照することができます。しかし、型付き配列で添字付きプロパティで取得または設定するときは、範囲外の添字でもプロパティのプロトタイプチェーンを探索しません。添字付きプロパティは 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"

仕様書

仕様書
ECMAScript (ECMA-262)
TypedArray Objects の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
TypedArrayChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
BYTES_PER_ELEMENTChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
bufferChrome 完全対応 7Edge 完全対応 14Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
byteLengthChrome 完全対応 7Edge 完全対応 14Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
byteOffsetChrome 完全対応 7Edge 完全対応 14Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
Constructor without argumentsChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 55IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 55Opera Android 完全対応 12Safari iOS 完全対応 5Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
copyWithinChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 34IE 未対応 なしOpera 完全対応 36Safari 完全対応 9.1WebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 34Opera Android 未対応 なしSafari iOS 完全対応 9.3Samsung Internet Android 未対応 なしnodejs 完全対応 4.0.0
entriesChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 36Safari 完全対応 9.1WebView Android 未対応 なしChrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 未対応 なしSafari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 0.12
everyChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 36Safari 完全対応 9.1WebView Android 未対応 なしChrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 未対応 なしSafari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
fillChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 36Safari 完全対応 9.1WebView Android 未対応 なしChrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 未対応 なしSafari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
filterChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 38IE 未対応 なしOpera 未対応 なしSafari 完全対応 9.1WebView Android 未対応 なしChrome Android 完全対応 45Firefox Android 完全対応 38Opera Android 未対応 なしSafari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
findChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 32Safari 完全対応 9.1WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 完全対応 32Safari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
findIndexChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 32Safari 完全対応 9.1WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 完全対応 32Safari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
forEachChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 38IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 38Opera Android 完全対応 32Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
fromChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 38IE 未対応 なしOpera 未対応 なしSafari 完全対応 10WebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 38Opera Android 未対応 なしSafari iOS 完全対応 10Samsung Internet Android 未対応 なしnodejs 完全対応 4.0.0
includesChrome 完全対応 47Edge 完全対応 14Firefox 完全対応 43IE 未対応 なしOpera 完全対応 34Safari 完全対応 10WebView Android 未対応 なしChrome Android 完全対応 47Firefox Android 完全対応 43Opera Android 完全対応 34Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 6.0.0
完全対応 6.0.0
完全対応 5.0.0
無効
無効 From version 5.0.0: this feature is behind the --harmony runtime flag.
Indexed properties not consulting prototypeChrome 完全対応 7
補足
完全対応 7
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Edge 完全対応 12
補足
完全対応 12
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Firefox 完全対応 25IE 完全対応 10
補足
完全対応 10
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Opera 完全対応 11.6
補足
完全対応 11.6
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Safari 完全対応 5.1
補足
完全対応 5.1
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
WebView Android 完全対応 ≤37
補足
完全対応 ≤37
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Chrome Android 完全対応 18
補足
完全対応 18
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Firefox Android 完全対応 25Opera Android 完全対応 12
補足
完全対応 12
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Safari iOS 完全対応 5
補足
完全対応 5
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Samsung Internet Android 完全対応 1.0
補足
完全対応 1.0
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
nodejs 完全対応 0.10
補足
完全対応 0.10
補足
補足 Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
indexOfChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37
補足
完全対応 37
補足
補足 Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).indexOf(0, -0) will now always return +0.
IE 未対応 なしOpera 完全対応 32Safari 完全対応 9.1WebView Android 未対応 なしChrome Android 完全対応 45Firefox Android 完全対応 37
補足
完全対応 37
補足
補足 Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).indexOf(0, -0) will now always return +0.
Opera Android 完全対応 32Safari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
Iterable in constructorChrome 完全対応 39Edge 完全対応 14Firefox 完全対応 52IE 未対応 なしOpera 完全対応 26Safari 完全対応 10WebView Android 完全対応 39Chrome Android 完全対応 39Firefox Android 完全対応 52Opera Android 完全対応 26Safari iOS 完全対応 10Samsung Internet Android 完全対応 4.0nodejs 完全対応 4.0.0
joinChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 32Safari 完全対応 9.1WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 完全対応 32Safari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
keysChrome 完全対応 38Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 25Safari 完全対応 10WebView Android 完全対応 38Chrome Android 完全対応 38Firefox Android 完全対応 37Opera Android 完全対応 25Safari iOS 完全対応 10Samsung Internet Android 完全対応 3.0nodejs 完全対応 0.12
lastIndexOfChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37
補足
完全対応 37
補足
補足 Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).lastIndexOf(0, -0) will now always return +0.
IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37
補足
完全対応 37
補足
補足 Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).lastIndexOf(0, -0) will now always return +0.
Opera Android 完全対応 32Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
lengthChrome 完全対応 7Edge 完全対応 14Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
mapChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 38IE 未対応 なしOpera 完全対応 32Safari 完全対応 9.1WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 38Opera Android 完全対応 32Safari iOS 完全対応 9.3Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
nameChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
Named propertiesChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 30IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 30Opera Android 完全対応 12Safari iOS 完全対応 5Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
TypedArray() without new throwsChrome 完全対応 7Edge 完全対応 14Firefox 完全対応 44IE 未対応 なしOpera 完全対応 15Safari 完全対応 5.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 44Opera Android 完全対応 14Safari iOS 完全対応 5Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.12
ofChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 38IE 未対応 なしOpera 未対応 なしSafari 完全対応 9.1WebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 38Opera Android 未対応 なしSafari iOS 完全対応 9.3Samsung Internet Android 未対応 なしnodejs 完全対応 4.0.0
reduceChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 未対応 なしSafari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
reduceRightChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 未対応 なしSafari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
reverseChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 未対応 なしSafari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
setChrome 完全対応 7Edge 完全対応 14Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
sliceChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 38IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 38Opera Android 完全対応 32Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
someChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 37Opera Android 未対応 なしSafari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
sortChrome 完全対応 45Edge 完全対応 14Firefox 完全対応 46IE 未対応 なしOpera 完全対応 32Safari 完全対応 10WebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 46Opera Android 完全対応 32Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 4.0.0
subarrayChrome 完全対応 7Edge 完全対応 14Firefox 完全対応 4IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 4Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 12Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.12
toLocaleStringChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 51IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 51Opera Android 完全対応 12Safari iOS 完全対応 5Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
toStringChrome 完全対応 7Edge 完全対応 12Firefox 完全対応 51IE 完全対応 10Opera 完全対応 11.6Safari 完全対応 5.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 51Opera Android 完全対応 12Safari iOS 完全対応 5Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.10
valuesChrome 完全対応 38Edge 完全対応 14Firefox 完全対応 37IE 未対応 なしOpera 完全対応 25Safari 完全対応 10WebView Android 完全対応 38Chrome Android 完全対応 38Firefox Android 完全対応 37Opera Android 完全対応 25Safari iOS 完全対応 10Samsung Internet Android 完全対応 3.0nodejs 完全対応 0.12
@@iteratorChrome 完全対応 38Edge 完全対応 12Firefox 完全対応 36
完全対応 36
未対応 27 — 36
補足 代替名
補足 A placeholder property named @@iterator is used.
代替名 非標準の名前 @@iterator を使用しています。
未対応 17 — 27
補足 代替名
補足 A placeholder property named iterator is used.
代替名 非標準の名前 iterator を使用しています。
IE 未対応 なしOpera 完全対応 25Safari 完全対応 10WebView Android 完全対応 38Chrome Android 完全対応 38Firefox Android 完全対応 36
完全対応 36
未対応 27 — 36
補足 代替名
補足 A placeholder property named @@iterator is used.
代替名 非標準の名前 @@iterator を使用しています。
未対応 17 — 27
補足 代替名
補足 A placeholder property named iterator is used.
代替名 非標準の名前 iterator を使用しています。
Opera Android 完全対応 25Safari iOS 完全対応 10Samsung Internet Android 完全対応 3.0nodejs 完全対応 0.12
@@speciesChrome 完全対応 51Edge 完全対応 13Firefox 完全対応 48IE 未対応 なしOpera 完全対応 38Safari 完全対応 10WebView Android 完全対応 51Chrome Android 完全対応 51Firefox Android 完全対応 48Opera Android 完全対応 41Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 6.5.0
完全対応 6.5.0
完全対応 6.0.0
無効
無効 From version 6.0.0: this feature is behind the --harmony runtime flag.

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。
非標準の名前を使用しています。
非標準の名前を使用しています。

関連情報