【JSリファレンス】TypedArrayコンストラクター

更新日:2024/06/14

TypedArrayコンストラクターは、ArrayBufferまたはSharedArrayBufferで確保したメモリ領域を特定のバイト数単位で区切り、配列形式でアクセスするビューオブジェクトを生成します。

TypedArrayコンストラクターは総称です。
区切るバイト数や符号の取り扱いなどにより、次のコンストラクター名に置き換えられます。

コンストラクター名バイト数範囲
Int8Array18ビット2の補数符号付き整数-128~127
Uint8Array18ビット符号なし整数0~255
Uint8ClampedArray18ビット符号なし整数(クランプ変換)0~255
Int16Array216ビット2の補数符号付き整数-32768~32767
Uint16Array216ビット符号なし整数0~65535
Int32Array432ビット2の補数符号付き整数-2147483648~
2147483647
Uint32Array432ビット符号なし整数0~4294967295
BigInt64Array864ビット2の補数符号付き整数-9223372036854775808~
9223372036854775807
BigUint64Array864ビット符号なし整数0~18446744073709551615
Float32Array432ビットIEEE浮動小数点
Float64Array864ビットIEEE浮動小数点

BigInt系以外のTypedArrayは、BigInt型を受け付けることができません。
BigInt系のTypedArrayは、BigInt型のみ受け付けます。

プロパティやメソッドについては、上表のリンク先を確認してください。

■値セット時のバイト値変換

float型を除いて、セットする値に小数が含まれる場合は、小数点以下が切り捨てられます。
次にセットする値で必要なバイト数が各TypeArrayのバイト数より多い場合、上位バイトが切り捨てられます。

実際の値は、2のビット数乗で割った値になります。

例(8ビット):
1000 1000 % 2 ** 8 232 0xE8

割った値がマイナスの場合、正の値の補数(足して桁溢れを除いて0になる値)を求めます

例(8ビット):
-1000 -1000 % 2 ** 8 -232 0x18 ( 0xE8 の補数: 0xE8 + 0x18 = 0x100 )

なお、符号あり無しに関わらず、ビットが同じなら同じ値がセットされます。

以降はJavaScriptでプログラミングを行う上で、あまり重要でない情報です。

■内部で使用されるTypedArrayコンストラクター

一部を除き、各TypedArrayコンストラクターのプロパティやメソッドは個々に定義されているのではなく、同一のオブジェクトに属するプロパティやメソッドを参照しています。

詳しくは%TypedArray%コンストラクターおよび%TypedArray%.prototypeオブジェクトを参照してください。

更新日:2024/06/14

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。