尝试一下
// 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.getBigInt64(byteOffset [, littleEndian])
参数
- byteOffset
-
偏移量,以字节为单位。指明视图开始读取数据的偏移量。
- littleEndian
-
可选 指明该 64 位整型数值的存储方式( 大小端模式)。如果为
false或undefined, 则按大端方式读取数据。
返回值
一个 BigInt.
异常抛出
RangeError-
如果
byteOffset设置的偏移量超出了视图的范围,则抛出该异常。
简介
- 没有对齐约束;
- 可以从任何偏移量获取多字节值。
示例
>使用 getBigInt64 方法
js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.getBigInt64(0); // 0n
规范
| 规范 |
|---|
| ECMAScript® 2027 Language Specification> # sec-dataview.prototype.getbigint64> |