Uint8Array タイプは、8 ビット符号なし整数値の配列を表します。各要素は0で初期化されます。生成された Uint8Array オブジェクトのメソッドあるいは配列のような表記法 ("[]") を用いて、要素を参照することができます。
構文
new Uint8Array(); // new in ES2017 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.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);
// iterableを指定
var iterable = function*(){ yield* [1,2,3]; }();
var uint8 = new Uint8Array(iterable);
// Uint8Array[1, 2, 3]
仕様
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| Typed Array Specification | 廃止された | ECMAScript 6 で置き換えられました。 |
| ECMAScript 2015 (6th Edition, ECMA-262) TypedArray constructors の定義 |
標準 |
ECMA 標準では最初の定義。 |
| ECMAScript (ECMA-262) TypedArray constructors の定義 |
現行の標準 |
ブラウザー実装状況
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Uint8Array | 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 完全対応 1.0 | nodejs 完全対応 0.10 |
Uint8Array() constructor | 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 完全対応 1.0 | nodejs 完全対応 0.10 |
凡例
- 完全対応
- 完全対応
互換性について
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]);