DataView.prototype.setBigInt64()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

**setBigInt64()**方法在距DataView 的起始位置的指定字节偏移处存储一个带符号的 64 位整数(long long 类型)值。

尝试一下

// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(16);

// Highest possible BigInt value that fits in a signed 64-bit integer
const max = 2n ** (64n - 1n) - 1n;

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

console.log(view.getBigInt64(1));
// Expected output: 9223372036854775807n

语法

dataview.setBigInt64(byteOffset, value [, littleEndian])

参数说明

byteOffset

字节偏移量,为从视图的起始位置到数据存储位置的字节字节偏移量。

value

作为一个BigInt类型设置的数值。满足一个带符号的 64 位整数的最大可能数值是 2n ** (64n -1n) - 1n (9223372036854775807n)。当发生溢出时,将会变成负数 (-9223372036854775808n)。

littleEndian

可选 为可选参数,表示这个 64 位整数是否以little-endian 或者 big-endian格式存储。如果设置为false 或者未指定(undefined),将会写入一个 big-endian(大端模式:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端)格式的数值。

返回值

抛出的错误

RangeError

如果 byteOffset设置导致存储该数值时超出了视图的末尾位置,将会抛出错误。

示例

使用 setBigInt64 方法

js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setBigInt64(0, 3n);
dataview.getBigInt64(0); // 3n

规范

Specification
ECMAScript® 2025 Language Specification
# sec-dataview.prototype.setbigint64

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
setBigInt64

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

请参阅