布尔数据类型
只有true真 和 false假
把其他数据类型转换为布尔类型,Boolean([value]) / !![value]
只有0、NaN、空字符串、null、undefined、转换为布尔的false,其余都是true
条件判断时,用到布尔类型
Symbol唯一值
定义:Symbol唯一值,执行一次Symbol相当于创建一个唯一值
console.log(Symbol()==Symbol()); //false 创建了2个唯一值,是错误的写法
var n=Symbol();
console.log(n==n); //true
console.log(Symbol(‘AA’)==Symbol(‘AA’)); //false 加标识,只是为了方便调试
BigInt大数字
真实场景:从服务器获取数据,服务器端存储数据的时候,如果用的就是大数存储的,返回到客户端的信息,很可能超过最大安全数字,这样导致后续计算可能不准确。
Number.MAX_SAFE_INTEGER; //最大安全数9007199254740991 (16位)
Number.MIN_SAFE_INTEGER; //最小安全数-9007199254740991
超过最大或最小安全数,再进行计算,结果是不准确的!
console.log(9007199254740991+2); //9007199254740992
console.log(9007199254740992+3); //9007199254740996
上面的值是不准确的!
BigInt(9007199254740991)+BigInt(1241434) ->9007199254740991n+1241434n=9007199255982425n
上面的值是准确的
明天开始讲对象数据类型