东莞网站建设方案表,购物网站开发的意义和目的,深圳电商网站设计,献县做网站编程笔记 html5cssjs 072 JavaScrip BigInt数据类型 一、BigInt 数据类型二、BigInt 的创建和使用三、BigInt 操作与方法三、示例小结 JavaScript BigInt 数据类型是一种内置的数据类型#xff0c;用于表示大于 Number.MAX_SAFE_INTEGER#xff08;即2^53 - 1… 编程笔记 html5cssjs 072 JavaScrip BigInt数据类型 一、BigInt 数据类型二、BigInt 的创建和使用三、BigInt 操作与方法三、示例小结 JavaScript BigInt 数据类型是一种内置的数据类型用于表示大于 Number.MAX_SAFE_INTEGER即2^53 - 1的整数。由于JavaScript中的标准数字类型Number使用双精度浮点格式存储它在表示非常大的整数时会受限于其精度可能导致精度丢失或无法正确表示超过安全范围的整数值。 一、BigInt 数据类型
JavaScript BigInt 数据类型是一种内置的数据类型用于表示大于 Number.MAX_SAFE_INTEGER即2^53 - 1的整数。由于JavaScript中的标准数字类型Number使用双精度浮点格式存储它在表示非常大的整数时会受限于其精度可能导致精度丢失或无法正确表示超过安全范围的整数值。 BigInt类型的引入解决了这个问题允许程序员处理任意大小的整数包括那些对于常规Number类型来说过大的整数。
二、BigInt 的创建和使用 字面量表示法 创建BigInt对象最直接的方式是通过在整数值后面添加后缀 n。 let bigintValue 9007199254740993n; // 这是一个BigInt值
console.log(bigintValue); // 输出: 9007199254740993n构造函数表示法 如果需要将字符串或其他类型转换为BigInt可以使用BigInt构造函数。 let alsoBigInt BigInt(9007199254740993); // 字符串转BigInt
console.log(alsoBigInt); // 输出: 9007199254740993nlet fromNumber BigInt(Number.MAX_SAFE_INTEGER 1); // Number转BigInt
console.log(fromNumber); // 输出: 9007199254740994n三、BigInt 操作与方法 算术运算BigInt支持基本的算术运算如加法、减法、乘法、除法、取模等但需要注意的是BigInt与Number不能直接进行混合运算必须先将Number转换为BigInt。 let a 123456789012345678901234567890n;
let b 987654321098765432109876543210n;let sum a b;
console.log(sum); // 正确执行结果也是一个BigIntlet mixAdd a 1; // 错误BigInt和Number不能直接相加
// 必须改为
let correctMixAdd a BigInt(1);比较操作BigInt同样支持比较运算符, , , , , !来比较两个BigInt或BigInt与NumberNumber会被自动转换为BigInt以便比较。 位运算BigInt也支持位操作符如按位与()、按位或(|)、按位异或(^)、左移()、右移()以及无符号右移(ES2022中新增)。 库函数 BigInt.asUintN(width, bigint)将BigInt包装为指定宽度以比特为单位的无符号整数。BigInt.asIntN(width, bigint)将BigInt包装为指定宽度以比特为单位的有符号整数。
三、示例
let uint64Value BigInt.asUintN(64, BigInt(18446744073709551615)); // 最大64位无符号整数
console.log(uint64Value.toString()); // 输出: 18446744073709551615let int64Value BigInt.asIntN(64, BigInt(-9223372036854775808)); // 最小64位有符号整数
console.log(int64Value.toString()); // 输出: -9223372036854775808小结
总之BigInt数据类型增强了JavaScript处理大整数的能力使得在开发中能够更精确地进行大量整数计算而无需担心溢出问题。