← 返回首页
Int8Array() コンストラクター - JavaScript | MDN

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Int8Array() コンストラクター

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

Int8Array() は型付き配列のコンストラクターで、 2 の補数形式の 8 ビット符号付き整数値の型付き配列を生成します。中身は 0 で初期化されます。生成されると、配列の中の要素はオブジェクトのメソッドを使用するか、配列の標準的な添字の構文を使用するか (すなわち、ブラケット構文を使用するか) して参照することができます。

目次

構文

new Int8Array(); // new in ES2017 new Int8Array(length); new Int8Array(typedArray); new Int8Array(object); new Int8Array(buffer [, byteOffset [, length]]);

引数

length

length 引数付きで呼び出されると、メモリ内に内部的な配列バッファーを作成し、大きさは length を BYTES_PER_ELEMENT で乗じたバイト数になり、ゼロになることもあります。

typedArray

typedArray 引数付きで呼び出されると、これはあらゆる型付き配列型 (例えば Int32Array) にすることができますが、 typedArray を新しい型付き配列にコピーします。 typedArray の中のそれぞれの値は、新しい配列にコピーされる前にコンストラクターの対応する型に変換されます。新しい型付き配列の長さは typedArray 引数の長さと同じになります。

object

object 引数付きで呼び出されると、あたかも TypedArray.from() メソッドであるかのように新しい型付き配列が生成されます。

buffer, byteOffset, length

buffer と、オプションで byteOffset と length 引数を指定して呼び出されると、指定された ArrayBuffer を表示する型付き配列ビューが生成されます。 byteOffset および length 引数は、型付き配列ビューが表示するメモリ範囲を指定する。 両方を省略した場合は buffer の全てを表示し、 length のみを省略した場合は buffer の残りを表示します。

様々な方法による Int8Array の生成

js
// 長さの指定 var int8 = new Int8Array(2); int8[0] = 42; console.log(int8[0]); // 42 console.log(int8.length); // 2 console.log(int8.BYTES_PER_ELEMENT); // 1 // 配列から var arr = new Int8Array([21, 31]); console.log(arr[1]); // 31 // 他の型付き配列から 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); // 反復可能オブジェクトから var iterable = (function* () { yield* [1, 2, 3]; })(); var int8 = new Int8Array(iterable); // Int8Array[1, 2, 3]

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-typedarray-constructors

ブラウザーの互換性

ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。

互換性メモ

ECMAScript 2015 から、 Int8Array コンストラクターは構築に new 演算子が必要になりました。 Int8Array コンストラクターを new なしで関数として呼び出すと、 TypeError が発生するようになりました。

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

関連情報