例如:
var Class = (function() {
var UPPER_BOUND = 100//定义了常量
var Test={}
// 定义了一个静态方法 获取常量的方法
Test.getUPPER_BOUND=function() {
return UPPER_BOUND
}
return Test
})()
用法:
var k=Class.getUPPER_BOUND()
alert(k)//
2.多个常量的情况下:
var Class = (function() {
// Private static attributes.
var constants = {//定义了两个常量
UPPER_BOUND: 100,
LOWER_BOUND: -100
}
var Test={}
// 定义了一个静态方法
Test.getConstant=function(name){//获取常量的方法
return constants[name]
}
return Test
})()
用法:
var k=Class.getConstant('UPPER_BOUND')
alert(k)
BigInt 数据类型的目的是比 Number 数据类型支持的范围更大的整数值。BigInt构造函数:
Number 类型只能安全地表示-9007199254740991 ( -(2^53-1 )) 和9007199254740991( 2^53-1 )之间的整数
JS 提供 Number.MAX_SAFE_INTEGER 常量来表示 最大安全整数, Number.MIN_SAFE_INTEGER 常量表示最小安全整数:
不能使用严格相等运算符将 BigInt 与常规数字进行比较,因为它们的类型不同:
与 BigInt 操作数一起使用时,算术运算符应该返回 BigInt 值。因此,除法 (/) 运算符的结果会自动向下舍入到最接近的整数。例如:
BigInt和Number 执行算术计算,首先需要确定应该在哪个类型中执行该操作。为此,只需通过调用 Number()或BigInt() 来转换操作数:
当 Boolean 类型与 BigInt 类型相遇时, BigInt 的处理方式与 Number 类似,换句话说,只要不是 0n ,BigInt就被视为 truthy 的值:
位操作符如 |、&、<<、>>和^ 对 Bigint 的操作方式与 Number类似 。下面是一些例子
不能使用 Number 和 BigInt 操作数的 混合执行算术运算 ,需要通过显式转换其中的一种类型。 此外,出于兼容性原因,不允许在 BigInt 上使用一元加号 (+) 运算符。