metadata
title: DataView.prototype.setBigInt64()
short-title: setBigInt64()
slug: Web/JavaScript/Reference/Global_Objects/DataView/setBigInt64
page-type: javascript-instance-method
browser-compat: javascript.builtins.DataView.setBigInt64
sidebar: jsref
The setBigInt64() method of {{jsxref("DataView")}} instances takes a BigInt and stores it as a 64-bit signed integer in the 8 bytes starting at the specified byte offset of this DataView. There is no alignment constraint; multi-byte values may be stored at any offset within bounds.
{{InteractiveExample("JavaScript Demo: DataView.prototype.setBigInt64()")}}
// 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
Syntax
setBigInt64(byteOffset, value)
setBigInt64(byteOffset, value, littleEndian)
Parameters
byteOffset- : The offset, in bytes, from the start of the view to store the data in.
value- : The value to set as a {{jsxref("BigInt")}}. For how the value is encoded in bytes, see Value encoding and normalization.
littleEndian{{optional_inline}}- : Indicates whether the data is stored in little- or big-endian format. If
falseorundefined, a big-endian value is written.
- : Indicates whether the data is stored in little- or big-endian format. If
Return value
{{jsxref("undefined")}}.
Exceptions
- {{jsxref("RangeError")}}
- : Thrown if the
byteOffsetis set such that it would store beyond the end of the view.
- : Thrown if the
Examples
Using setBigInt64()
const buffer = new ArrayBuffer(10);
const dataview = new DataView(buffer);
dataview.setBigInt64(0, 3n);
dataview.getBigInt64(1); // 768n
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- JavaScript typed arrays guide
- {{jsxref("DataView")}}
- {{jsxref("ArrayBuffer")}}
- {{jsxref("BigInt64Array")}}