数据类型
基本数据类型
- Boolean
- Sring
- Number
- Null
- Undefined
- Object
- symbol
- bigInt
新的数据类型
1.BigInt
biging类型提供大于的整数,它本来是Number能表示的最大的整数。
//可以使用整形加n或者Bigint来声明一个Bigint的数
var a = 1n
var b = BigInt(2)
//a为1n;b为2n
var c = a+b
//c为3n
//与NUmber运算会报错
var d = a+1
/*
Uncaught TypeError: Cannot mix BigInt and other types, use explicit conversions
at <anonymous>:1:2
*/
与Number不是严格相等的,而是宽松相等的
1n==1 //true
1n===1 //false
布尔值的转化与Number类似
if(0n)
{
console.log("true")
}else{
console.log("false")
}
//false
与Number也可以进行比较
2n>1 //true
2n>2 //false
2n>=2 //true
2.Symbol
symbol是原始值,并且符号实例是唯一的、不可变的,不会发生属性冲突。可以使用symbol构造函数创建一个symbol。
a = Symbol(1)
// Symbol(1)
b = Symbol(1)
// Symbol(1)
a==b
//false
正是由于Symbol唯一的特性可以作为属性的属性。对象上几种特殊的symbol的。即使用关键字就可以调用symbol.关键字函数。
- for of 调用symbol.iterator。可以使用这个特性自定义对象中迭代性。
- for-await-of 调用symblo.asyncIterator。
- instance 调用symbol.hasInstance
1.
3.