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

View in English Always switch to English

DataView.prototype.setBigInt64()

Baseline 広く利用可能

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

setBigInt64()DataView インスタンスのメソッドで、長整数を受け取り、符号付き 64 ビット整数として、この DataView の指定されたバイトオフセットから始まる 8 バイトに格納します。アラインメント制約はなく、マルチバイトの値は範囲内の任意のオフセットに格納できます。

試してみましょう

// ArrayBuffer をバイト単位のサイズで作成
const buffer = new ArrayBuffer(16);

// 符号付き 64 ビット整数に収まる最大の長整数値
const max = 2n ** (64n - 1n) - 1n;

const view = new DataView(buffer);
view.setBigInt64(1, max);

console.log(view.getBigInt64(1));
// 予想される結果: 9223372036854775807n

構文

js
setBigInt64(byteOffset, value)
setBigInt64(byteOffset, value, littleEndian)

引数

byteOffset

データを格納するビューの先頭からのバイト単位のオフセットです。

value

長整数 (BigInt) として設定する値。値がどのようにバイト列にエンコードされるかについては、値のエンコード方式と正規化を参照してください。

littleEndian 省略可

データをリトルエンディアンまたはビッグエンディアンのどちらの形式で格納するかを示します。false または undefined の場合、ビッグエンディアンの値が書き込まれます。

返値

undefined です。

発生するエラー

RangeError

byteOffset がビューの末尾を越えて格納するように設定されたときに発生します。

setBigInt64() メソッドの使用

js
const buffer = new ArrayBuffer(10);
const dataview = new DataView(buffer);
dataview.setBigInt64(0, 3n);
dataview.getBigInt64(1); // 768n

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-dataview.prototype.setbigint64

ブラウザーの互換性

関連情報