Number 类型
- MAX_SAFE_INTEGER 常量表示在 JavaScript 中最大的安全整数(maxinum safe integer)(
2^53 - 1
)。
js
let max = 2 ** 53
console.log(max) // 9007199254740992
console.log(Number.MAX_SAFE_INTEGER) // 9007199254740991 == 2**53 - 1
console.log(max === max + 1) // true 理论上是错误的
Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 //true 这在数学上是错误的
Number.isSafeInteger(2** 53-1) // true
Number.isSafeInteger(Number.MAX_SAFE_INTEGER) // true
JS 中的 Falsy 值
有 false、0、-0、0n、""、''、空模板字符串、null、undefined、NaN
Symbol.prototype.description (ES10 / ES2019)
该属性是只读的,不可修改。 简单介绍 Symbol :当表示对象属性唯一时使用 Symbol 作为对象的键。
js
let s = Symbol('helen')
console.log(s) // Symbol(helen)
console.log(s.description) // helen
let s1 = Symbol()
console.log(s.description) // undefined
BigInt (ES11/ES2020)
js
let max = 2 ** 53
console.log(max) // 9007199254740992
console.log(Number.MAX_SAFE_INTEGER) // 9007199254740991 == 2**53 - 1
console.log(max === max + 1) // true 理论上是错误的
Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 //true 这在数学上是错误的
Number.isSafeInteger(2** 53-1) // true
Number.isSafeInteger(Number.MAX_SAFE_INTEGER) // true
// --------------------------------------- //
let bigNum = 9007199254740993n
console.log(bigNum)
console.log(typeof bigNum) // bigint
console.log(1n == 1) // true
console.log(1n === 1) // false
let bigNum1 = BigInt(9007199254740993n)
console.log(bigNum1)
console.log(bigNum + bigNum1) // 18014398509481986n
console.log((bigNum + bigNum1).toString()) // 18014398509481986