DataView.prototype.setBigUint64()
åºçº¿
广æ³å¯ç¨
èª 2021å¹´9æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
setBigUint64() æ¹æ³å¨è· DataView çèµ·å§ä½ç½®çæå®åèåç§»å¤åå¨ä¸ä¸ªæ 符å·ç 64 使´æ°ï¼unsigned long long ç±»åï¼å¼ã
å°è¯ä¸ä¸
// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(16);
// Highest possible BigInt value that fits in an unsigned 64-bit integer
const max = 2n ** 64n - 1n;
const view = new DataView(buffer);
view.setBigUint64(1, max);
console.log(view.getBigUint64(1));
// Expected output: 18446744073709551615n
è¯æ³
dataview.setBigUint64(byteOffset, value [, littleEndian])
åæ°è¯´æ
- byteOffset
-
åèåç§»éï¼ä¸ºä»è§å¾çèµ·å§ä½ç½®å°æ°æ®åå¨ä½ç½®çåèåèåç§»éã
- value
-
ä½ä¸ºä¸ä¸ª BigInt ç±»åè®¾ç½®çæ°å¼ã满足ä¸ä¸ªæ 符å·ç 64 使´æ°çæå¤§å¯è½æ°å¼æ¯
2n ** 64n - 1n(18446744073709551615n)ãå½åçæº¢åºæ¶ï¼å°ä¼åæ 0ã - littleEndian
-
为å¯éåæ°ï¼è¡¨ç¤ºè¿ä¸ª 64 使´æ°æ¯å¦ä»¥ little-endian æè big-endian æ ¼å¼åå¨ãå¦æè®¾ç½®ä¸º false æè æªæå®ï¼undefinedï¼ï¼å°ä¼åå ¥ä¸ä¸ª big-endianï¼å¤§ç«¯æ¨¡å¼ï¼é«ä½åèææ¾å¨å åçä½å°å端ï¼ä½ä½åèææ¾å¨å åçé«å°åç«¯ï¼æ ¼å¼çæ°å¼ã
è¿åå¼
æåºçé误
RangeError-
妿 byteOffset 设置导è´åå¨è¯¥æ°å¼æ¶è¶ åºäºè§å¾çæ«å°¾ä½ç½®ï¼å°ä¼æåºé误ã
示ä¾
>ä½¿ç¨ setBigUint64 æ¹æ³
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setBigUint64(0, 3n);
dataview.getBigUint64(0); // 3n
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-dataview.prototype.setbiguint64> |