Uint8Array タイプは、8 ビット符号なし整数値の配列を表します。各要素は0で初期化されます。生成された Uint8Array オブジェクトのメソッドあるいは配列のような表記法 ("[]") を用いて、要素を参照することができます。

構文

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

コンストラクタの構文と引数に関する詳細はTypedArrayを参照して下さい。

属性

Uint8Array.BYTES_PER_ELEMENT
要素一個あたりのバイト数を返します。Uint8Array の場合は1です。
Uint8Array.length
値は3になります。実際の長さ(要素数)についてはUint8Array.prototype.lengthを参照して下さい。
Uint8Array.name
コンストラクタ名を文字列値で返します。Uint8Array の場合、"Uint8Array"です
Uint8Array.prototype
TypedArray オブジェクトのプロトタイプです。

メソッド

Uint8Array.from()
配列状のオブジェクトやイテレート可能なオブジェクトから、新たな Uint8Array オブジェクトを生成します。Array.from()も確かめて下さい。
Uint8Array.of()
可変長引数で新しい Uint8Array オブジェクトを生成します。Array.of()も確かめて下さい。

Uint8Array プロトタイプ

全ての Uint8Array オブジェクトは %TypedArray%.prototype を継承しています。

属性

Uint8Array.prototype.constructor
インスタンスのプロトタイプを作る関数を返します。これは、デフォルトで対応する Uint8Array コンストラクタです。
Uint8Array.prototype.buffer 読取専用
Uint8Array オブジェクトによって参照されるArrayBufferを返します。構築時に設定され、読取専用 となります。
Uint8Array.prototype.byteLength 読取専用
Uint8Array オブジェクトの長さをバイト単位で返します。この値は構築時に設定されるため、読取専用 の属性となります。
Uint8Array.prototype.byteOffset 読取専用
ArrayBufferの開始位置からの Uint8Array オブジェクトの(バイト単位の)オフセットを返します。構築時に設定され、読取専用 となります。
Uint8Array.prototype.length 読取専用
Uint8Array オブジェクト内に保持された要素の数を返します。構築時に設定され、読取専用 となります。

メソッド

Uint8Array.prototype.copyWithin()
配列内で一連の配列要素をコピーします。詳しくは Array.prototype.copyWithin() を参照してください。
Uint8Array.prototype.entries()
配列内の各添え字に対して、添え字とその場所の値の組を要素とする新しい Array Iterator を返します。Array.prototype.entries()も確かめて下さい。
Uint8Array.prototype.every()
配列内のすべての要素が関数によって提供されたテストに合格するかどうかテストを実行します。詳しくは Array.prototype.every() を参照してください。
Uint8Array.prototype.fill()
開始位置から終了位置までの配列のすべての要素を固定値で設定します。詳しくは Array.prototype.fill() を参照してください。
Uint8Array.prototype.filter()
与えられたフィルタリング関数が true となる要素から、新しい配列を生成します。詳しくは Array.prototype.filter() を参照してください。
Uint8Array.prototype.find()
与えられたテスト関数を満たす要素を返します。満たすものがなかった場合は undefined を返します。 Array.prototype.find()を確かめて下さい。
Uint8Array.prototype.findIndex()
与えられたテスト関数を満たす要素の位置を返します。満足するものがなかった場合は -1 を返します。Array.prototype.findIndex()も確かめて下さい。
Uint8Array.prototype.forEach()
配列内の各要素に対する関数を呼び出します。詳しくは Array.prototype.forEach() を参照してください。
Uint8Array.prototype.includes() 
typed array がある要素を含むかどうか判断します。含まれる場合にはtrue を、そうで無い場合は false を返します。 詳しくはArray.prototype.includes() を参照してください。
Uint8Array.prototype.indexOf()
指定された値に等しい最初の要素の添え字を返します。等しいものが無い場合は -1 を返します。詳しくは Array.prototype.indexOf() を参照してください。
Uint8Array.prototype.join()
すべての配列要素を結合した文字列を返します。詳しくは Array.prototype.join() を参照してください。
Uint8Array.prototype.keys()
配列内の各添え字にを要素とする新しい Array Iterator を返します。詳しくは Array.prototype.keys() を参照してください。
Uint8Array.prototype.lastIndexOf()
指定された値と等しい最後の要素の添え字を返します。等しい値をもつ要素が無い場合は -1 を返します。詳しくは Array.prototype.lastIndexOf() を参照してください。
Uint8Array.prototype.map()
この配列のすべての要素に対して、与えられた関数適用し、その結果を要素とする新しい配列を生成します。詳しくは Array.prototype.map() を参照してください。
Uint8Array.prototype.move() 未実装
TypedArray.prototype.copyWithin() の以前の非標準バージョンです。
Uint8Array.prototype.reduce()
アキュムレーターと配列内の各要素に対して左から右へと関数を適用し、最終的にひとつの値を求める関数です。詳しくは Array.prototype.reduce() を参照してください。
Uint8Array.prototype.reduceRight()
アキュムレーターと配列内の各要素に対して右から左へと関数を適用し、最終的に 1 つの値を求める関数です。詳しくは Array.prototype.reduceRight() を参照してください。
Uint8Array.prototype.reverse()
配列要素の順番を反転させます。最初の要素は最後になり、最後の要素は最初になります。詳しくは Array.prototype.reverse() を参照してください。
Uint8Array.prototype.set()
指定された配列の値を入力として、複数の値を typed array に格納します。
Uint8Array.prototype.slice()
配列の一部を取り出し、取り出された要素からなる新しい配列を返します。詳しくは Array.prototype.slice() を参照してください。
Uint8Array.prototype.some()
ある配列の少なくとも 1 つの要素が与えられたテスト関数を満たした場合にtrueを返します。詳しくは Array.prototype.some() を参照してください。
Uint8Array.prototype.sort()
配列の要素を並べ替え、その結果を返します。詳しくは Array.prototype.sort() を参照してください。
Uint8Array.prototype.subarray()
指定された開始位置と終了位置から、新しい Uint8Array オブジェクトを返します。
Uint8Array.prototype.values()
添え字に対応する値を要素とする新しい Array Iterator オブジェクトを返します。詳しくは Array.prototype.values() を参照してください。
Uint8Array.prototype.toLocaleString()
配列と要素を表すローカライズされた文字列を返します。詳しくは Array.prototype.toLocaleString() を参照してください。
Uint8Array.prototype.toString()
配列と要素を表す文字列を返します。詳しくは Array.prototype.toString() を参照してください。
Uint8Array.prototype[@@iterator]()
配列内で各添え字に対応する値を含む新しい Array Iterator オブジェクトを返します。

// 要素数を指定
var uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1

// Arrayを指定
var arr = new Uint8Array([21,31]);
console.log(arr[1]); // 31

// 他のTypedArrayを指定
var x = new Uint8Array([21, 31]);
var y = new Uint8Array(x);
console.log(y[0]); // 21

// ArrayBufferを指定
var buffer = new ArrayBuffer(8);
var z = new Uint8Array(buffer, 1, 4);

仕様

仕様書 策定状況 コメント
Typed Array Specification 廃止された ECMAScript 6 で置き換えられました。
ECMAScript 2015 (6th Edition, ECMA-262)
TypedArray constructors の定義
標準

ECMA 標準では最初の定義。new 演算子が必要なことが仕様書に含まれました。

ECMAScript 2017 Draft (ECMA-262)
TypedArray constructors の定義
ドラフト  

ブラウザー実装状況

機能 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
基本サポート 4.0 (有) 4.0 (2) 10 11.6 4.2
new が必要 ? ? 44.0 (44) ? ? ?

互換性について

ECMAScript 2015 (ES6)から、Uint8Array コンストラクタでインスタンスを生成する場合、 new 演算子が必要となります。 Uint8Array を new 演算子を使用せずに関数呼び出しした場合、TypeError 例外が投げられるでしょう。

var dv = Uint8Array([1, 2, 3]);
// TypeError: calling a builtin Uint8Array constructor
// without new is forbidden
var dv = new Uint8Array([1, 2, 3]);

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: chikoski, syu_kato, teoli, ethertank, yyss
 最終更新者: chikoski,